以下腳本在停止之前會多次使類「closeBox」發fadin(如某種動畫)。我只需要它將它淡入一次。class fadeIn問題
.box-holder div{
background-color:#CCC;
width:240px;
height:240px;
position:absolute;
top:0;
cursor:pointer;
}
.closeBox{
display:none;
margin: 0;
position: absolute;
right: 10px;
top: 10px;
}
.box-1{
right:600px;
}
.box-2{
right:310px;
}
.box-3{
right:20px;
}
<div class="box-holder" >
<div class="box-1"
data--50-top="right:600px;"
data--300-top="right: -570px;"
data-anchor-target="#slide-1 h2"
></div>
<div class="box-2"
data--50-top="right:310px;"
data--300-top="right: -570px;"
data-anchor-target="#slide-1 h2"
></div>
<div class="box-3"
data--50-top="right:20px;"
data--300-top="right: -570px;"
data-anchor-target="#slide-1 h2"
><p class="closeBox">X</p></div>
</div>
$(document).ready(function(e) {
var scrolling = $window.scrollTop();
function update(){
var boxHolderDivRight = $('.box-holder div').css('right'),
boxHolder = $('#slide-1 .box-holder'),
boxHolderDiv = $('.box-1, .box-2, .box-3'),
closeBox= $('.closeBox');
boxHolderDiv.click(function(){
if(boxHolderDiv.css('right') == -570+'px'){
boxHolderDiv.addClass('clicked');
closeBox.fadeIn();
}
else if(boxHolderDiv.css('right') == -300+'px' && boxHolderDiv.hasClass('clicked')){
boxHolderDiv.removeClass('clicked');
closeBox.fadeOut();
}
});
}
$window.bind('scroll', update);// JavaScript Document
});
你爲什麼註冊點擊處理程序內滾動事件handelr –
啊好點,這是原因嗎?謝謝 – Alex
是的每次滾動事件被稱爲一個新的點擊處理程序獲得註冊 –