私はこのJavaScriptコードがあります:次またはPERV複数のアニメーションのユーザークリックが完全に完了し、offsetLeft値が正しくないないときjqueryでのシングルアクションの複数クリックの防止!
var next = jQuery('#next') ;
var prev = jQuery('#prev') ;
var Scroller = jQuery('#Scroller') ;
var ScrollerTable = Scroller.children('table').width() ;
next.click(function(){
console.log('width of scroller table ' + ScrollerTable) ;
var offsetLeft = parseInt(Scroller.css("left")) ;
console.warn(offsetLeft) ;
if(offsetLeft == 0)
{
Scroller.animate({left : -140 } , 1000) ;
}else{
console.warn(offsetLeft) ;
if(ScrollerTable <= offsetLeft )
{
console.warn(offsetLeft) ;
alert('you are reached the end of scroller use the other btn') ;
return false ;
}else{
Scroller.animate({left : offsetLeft-140 } , 1000) ;
}
}
});
prev.click(function(){
var offsetLeft = parseInt(Scroller.css("left")) ;
console.warn('offsetLeft in backward ' + offsetLeft) ;
if(offsetLeft != 0 || offsetLeft > 0)
{
Scroller.animate({left : offsetLeft +140 } , 1000) ;
}else{
jQuery(this).css('cursor' , 'none') ;
return false ;
}
});
を!それを防ぐために何ができるのですか
私の次の質問は、次のbtnをクリックしたときです。スクローラのdivは-140pxにスクロールされました。このアクションは、スライドの最後に到達するまで繰り返されなければなりません。だから私は変数のscrollerTableの幅を取得し、offsetLeftの値でそれをチェックするが、それは動作していない!ここ
とは、HTML
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div style="border:#ccc 1px solid ; padding:1px" class="scroll">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="2%"><img src="../images/dum/scroll_left.gif" width="20" height="165" id="prev" style="cursor:pointer" /></td>
<td width="96%" valign="top">
<div style="width:720px; height:165px ; position:relative ; overflow:hidden " id="Container">
<div style="position:absolute ; left:0" id="Scroller">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
{foreach from=$products item=p}
<td>
<div style="border:#ccc 2px solid ; padding:0px;margin:20px;">
<img src="imgsize.php?w=100&h=100&img=../uploads/product/{$p.xproductid}.jpg" />
<div style="background-color:#ccc ;text-align:center ; padding:5px; ">{$p.xproductname}</div>
</div>
</td>
{/foreach}
</tr>
</table>
</div>
</div>
</td>
<td width="2%"><img src="../images/dum/scroll_right.gif" width="20" height="165" id="next"/></td>
</tr>
</table>
質問を2つに分割する方がよいでしょう。 – kgiannakakis
有効なHTMLを使用すること、ネストした表を避けること、レイアウトのために表を乱用することは避けることもできます。 – Quentin