我尝试每次会话只运行一次此脚本。用户向下滚动时,脚本应显示弹出窗口。
以下是显示滑出的代码。但是如何让它只运行一次?
jQuery(window).scroll( function(){
var wwd = jQuery(window).width();
if( wwd > 999 ){
fixedHeader(); // fix header on page scroll
}
});
var fixedHeader = function(){
var hdrHt = jQuery('header.site-header').height();
var scrPos = jQuery(window).scrollTop();
var aBarHt = jQuery('#wpadminbar').height();
if( scrPos > (hdrHt+700) ){
jQuery('div.slide').one.css('display','block');
jQuery('div.slide-hidden').css('display','none');
}
else
{
jQuery('div.slide-hidden').css('display','block');
}
}
RUN ONCE - 如果用户向下滚动700px - 显示滑出。如果用户返回顶部然后再次向下滚动 - 请勿第二次运行。运行一次预加载页面。
请帮忙。我不是程序员 - 我试图使用.one()
但没有成功......我现在知道如何或在哪里放置它。请显示代码示例。
非常感谢!
答案 0 :(得分:0)
将此方法更新为
var fixedHeader = function()
{
var hdrHt = jQuery('header.site-header').height();
var scrPos = jQuery(window).scrollTop();
var aBarHt = jQuery('#wpadminbar').height();
if( scrPos > (hdrHt+700) )
{
if ( $.trim( jQuery('div.slide').attr( "data-firsttime" ) ).length == 0 )
{
jQuery('div.slide').one.css('display','block');
jQuery('div.slide').attr( "data-firsttime", "true" );
}
jQuery('div.slide-hidden').css('display','none');
}
else
{
jQuery('div.slide-hidden').css('display','block');
}
}
基本上设置了要滑出的div的属性(在这种情况下的任何属性' data-firsttime')。下一次滑出之前检查是否已设置该值。