我有一个wordpress页面,即使单击重新加载页面或转到另一篇文章,我也需要编辑JS函数以仅加载一个。是否可以避免通过重新加载页面来重新运行功能?
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();
});
答案 0 :(得分:1)
这可能是cookie的工作:} This obligatory tutorialpoint link可能可以帮助您尝试类似的事情:
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();
});
希望这会有所帮助:)
答案 1 :(得分:0)
您可以使用cookie或local storage。像这样:
function showAd(){
...
adShownTel = true;
window.localStorage.setItem('adShownTel', true)
...
}
jQuery(document).ready(function(){
if (Boolean(window.localStorage.getItem('adShownTel'))) {
showAd();
}
});
但是,如果您对这些事情不满意,那么也许最好尝试查找一个库而不是自己实现此功能。
祝你好运!