如何使用jQuery在Firefox刷新页面时重置计数器号?

时间:2011-10-15 19:29:20

标签: jquery firefox numbers counter

我注意到这是一个bug或者没有...然后其他浏览器如Chrome和Opera可以重置计数器号码,但Firefox不会重置它...

转到http://bksn.mx/opequimar/renta_descripcion.html

有一个网页并转到缩略图部分,单击右箭头直到最大数字,然后刷新页面(F5),然后看到“3 de 3”,再试一次,你会看到使用Firefox “5 de 3”

第一个数字是计数器,最后一个数字是size();,每个数字都是缩略图div。

有一个数字计数器脚本:

$("a.prevarrow1").click("click", function() {
  var qInput = $(this).parents(".quantityInput");
  var qText = qInput.find(".quantityText");
  var qValue = parseInt((qText.val())? qText.val() : 0);
  qText.val(Math.max(qValue - 1, (qInput.attr("min"))? qInput.attr("min") : -0xffff));
});

$("a.nextarrow1").click("click", function() {
  var qInput = $(this).parents(".quantityInput");
  var qText = qInput.find(".quantityText");
  var qValue = parseInt((qText.val())? qText.val() : 0);
  qText.val(Math.min(qValue + 1, (qInput.attr("max"))? qInput.attr("max") : 0xffff));
});

输出的HTML:

<div class="quantityInput" min="0" max="64">
<p>Pags. &nbsp;
    <input type="text" disabled="disabled" class="quantityText" value="1" />
   de &nbsp;<span></span></p>
<div class="absolute">
   <a class="prev prevarrow1"></a>

<a class="next nextarrow1"></a>
   </div>
</div>

如果无法实现,我接受你的新剧本。 提前谢谢!

1 个答案:

答案 0 :(得分:1)

问题是页码存储在文本框中。 Firefox,IE和“浏览器回到Netscape 1(几乎可以肯定是NCSA Mosaic)”according to Brendan Eich恢复重新加载时保存的表单数据,但不会在shift-reload上恢复。基于Webkit的浏览器确实不兼容。

解决方案是避免使用文本框显示数字(将其更改为&lt; span&gt;,使用jQuery的.text()更改范围的值)或者在加载时读取输入的值并更新页面的状态适当地(将缩略图滚动到指定的页码)。