如何知道是不是没有更多图片可禁用(nxt/prv)按钮

Posted

技术标签:

【中文标题】如何知道是不是没有更多图片可禁用(nxt/prv)按钮【英文标题】:How to know if there is no more pics to disable (nxt/prv) button如何知道是否没有更多图片可禁用(nxt/prv)按钮 【发布时间】:2011-09-05 22:43:30 【问题描述】:

我有这个代码

css:

div#container
overflow: hidden;
width: 331px;


div#content 
position:relative;

jquery:

$("#left").click(function()
$("#content").animate("right": "+=328px", "slow");
);

$("#right").click(function()
$("#content").animate("right": "-=328px", "slow");
);

html

<button id="left"><<</button>
<button id="right">>></button>
<div id="container">
<div id="content">
<table border="0">
<tr>
<td><img src="images/img1.gif"></td>
<td><img src="images/img2.gif"></td>
<td><img src="images/img3.gif"></td>
<td><img src="images/img4.gif"></td>
</tr>
<tr>
<td>Description1</td>
<td>Description2</td>
<td>Description3</td>
<td>Description4</td>
</tr>
</table>

当我点击例如 prv 按钮 15 次时,div 每次移动 328px! 我的问题是如何知道画廊应该停止移动的最后一个位置?

谢谢

【问题讨论】:

更新:jsfiddle.net/9sYWK/2 【参考方案1】:

我不喜欢为此使用表格... div 让您的代码更加流畅,并允许一个优雅的解决方案:is(':last-child') on active div

但既然你是用桌子做的,我可以想到两种方法

一个正在使用计数器,然后根据表格的列数检查它。如果每一步显示多于一列,则它将是总列数/可见列数:

$(function()
    var position = 1;

    $("#left").click(function()
    var size =  $("#content table").find('tr').first().find('td').size();

        if(position < (size / 2) ) 
            $("#content").animate("right": "+=198px", "slow");
            position ++;
        
    );

    $("#right").click(function()
        if(  position > 1) 
            $("#content").animate("right": "-=198px", "slow");
             position --;
        
    );
);

小提琴:http://jsfiddle.net/9sYWK/5/

另一种解决方案是计算#content 移动了多少次。您可以使用$("#content").css('right'); 获取它。既然你知道你总是以 328px 的步长移动你的 div,你可以将它除以 328 来得到它被点击的次数

【讨论】:

谢谢,但是“正确的 btn”不起作用!你也把它设为“1 列”,我想要它“2 列”,就像我的例子一样。 好的,现在你没有将“var count”更改为“var position”,但就像我说的那样,我怎样才能将“2 column”插入“1 column”? 没问题...只需设置大小/2:jsfiddle.net/9sYWK/5(我还修复了变量名...抱歉) 好的,您能否将您的解决方案作为答案,以便我接受。【参考方案2】:

我不知道,你需要一个计数器。

一种方法是连续计算 td 的数量?

//Add a class to your td's
<td class="img_gallery"><img src="images/img1.gif"></td>
<td class="img_gallery"><img src="images/img2.gif"></td>
<td class="img_gallery"><img src="images/img3.gif"></td>
<td class="img_gallery"><img src="images/img4.gif"></td>

// in your js ...
$td_count = $(".img_gallery").size();

// Now you have many different ways of dealing with this,
// you can have a counter, or allow to move 5 * 328, whatever you want.

【讨论】:

以上是关于如何知道是不是没有更多图片可禁用(nxt/prv)按钮的主要内容,如果未能解决你的问题,请参考以下文章

求手机站网页长按粘贴复制保存图片禁用代码,如何添加,谢谢

如何禁用Android按钮?

如何禁用 NestedScrollView&CollapsingToolbarLayout 的滚动,例如当下面没有更多内容时?

phantomjs集成到scrapy中,并禁用图片,切换UA

如何判断屏幕保护程序是不是暂时禁用?

Xamarin Forms Map 中的地图模糊?