Reputation: 1
I have a wordpress page and I need to edit my JS function to load only one, even if I click to reload page or go to another post. Is it possible to avoid rerun of function with page reloading?
function showAd(){
var adShownTel = false;
jQuery(window).scroll(function() {
var currentScroll = jQuery(window).scrollTop();
if (currentScroll > 1600 && !adShownTel) {
var screenWidth = jQuery( document ).width();
adShownTel = true;
var $bannTel = jQuery("<div>", {id: "sticky_banner_tel_UTM", "class":"sticky_banner_tel_UTM"});
if(sssp.displaySeznamAds()) {
if(screenWidth < 737){
$bannTel.append('<div style="display:inline-block;"><div id="ssp-zone-97408"></div><script>sssp.getAds([{"zoneId": 97408, "id": "ssp-zone-97408","width": 320,"height": 100}]);</script></div>');
}
var $bannElClose = jQuery("<div>", {id: "sticky_banner_close", "class": "sticky_banner_close"});
$bannElClose.append('<span>Zavřít reklamu</span>');
$bannElClose.click(function(){
if(screenWidth < 737){
$bannTel.slideToggle("slow");
}
});
if(screenWidth < 737){
$bannTel.append($bannElClose);
jQuery('body').append($bannTel);
}
}
}
});
}
jQuery(document).ready(function(){
showAd();
});
Upvotes: 0
Views: 83
Reputation: 816
You could use a cookie or local storage. Something like this:
function showAd(){
...
adShownTel = true;
window.localStorage.setItem('adShownTel', true)
...
}
jQuery(document).ready(function(){
if (Boolean(window.localStorage.getItem('adShownTel'))) {
showAd();
}
});
But if you're not comfortable with these things then maybe it would be better to try to find a library rather than implementing this functionality yourself.
Good luck!
Upvotes: 0
Reputation: 21
This may be a job for a cookie :} This obligatory tutorialpoint link may be able to help you out try something like:
function showAd(){
**if(!document.cookie){**
var adShownTel = false;
**document.cookie = "visited";**
jQuery(window).scroll(function() {
var currentScroll = jQuery(window).scrollTop();
if (currentScroll > 1600 && !adShownTel) {
var screenWidth = jQuery( document ).width();
adShownTel = true;
var $bannTel = jQuery("<div>", {id: "sticky_banner_tel_UTM", "class":"sticky_banner_tel_UTM"});
if(sssp.displaySeznamAds()) {
if(screenWidth < 737){
$bannTel.append('<div style="display:inline-block;"><div id="ssp-zone-97408"></div><script>sssp.getAds([{"zoneId": 97408, "id": "ssp-zone-97408","width": 320,"height": 100}]);</script></div>');
}
var $bannElClose = jQuery("<div>", {id: "sticky_banner_close", "class": "sticky_banner_close"});
$bannElClose.append('<span>Zavřít reklamu</span>');
$bannElClose.click(function(){
if(screenWidth < 737){
$bannTel.slideToggle("slow");
}
});
if(screenWidth < 737){
$bannTel.append($bannElClose);
jQuery('body').append($bannTel);
}
}
}
});
}
}
jQuery(document).ready(function(){
showAd();
});
Hope this helps :)
Upvotes: 1