如何使用 jQuery 在 Firefox 中重置页面刷新时的计数器编号?
我注意到这是否是一个错误...然后 Chrome 和 Opera 等其他浏览器可以重置计数器编号,但 Firefox 不会重置它...
转到 http://bksn.mx/opequimar/renta_descripcion.html
有一个网页并转到缩略图部分,单击向右箭头直到最大数字,然后刷新页面 (F5),您会看到“3 de 3”,再试一次,您将在 Firefox 中看到“5 de 3”。
第一个数字是 counter,最后一个数字是 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.
<input type="text" disabled="disabled" class="quantityText" value="1" />
de <span></span></p>
<div class="absolute">
<a class="prev prevarrow1"></a>
<a class="next nextarrow1"></a>
</div>
</div>
如果不可能,我接受您的新脚本。 提前致谢!
I'm noticed it is a bug or not... then other browsers like Chrome and Opera can reset counter number, but Firefox doesn't reset it...
Go to http://bksn.mx/opequimar/renta_descripcion.html
There a web page and go to thumbnails section, click right arrows until is maximum number, then refresh page (F5) and you see "3 de 3", try it again and you will see "5 de 3" with Firefox.
The first number is counter and the last number is size();
each to div of thumbnails.
There a script of number counter:
$("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 of output:
<div class="quantityInput" min="0" max="64">
<p>Pags.
<input type="text" disabled="disabled" class="quantityText" value="1" />
de <span></span></p>
<div class="absolute">
<a class="prev prevarrow1"></a>
<a class="next nextarrow1"></a>
</div>
</div>
If is not possible, i accept the new scripts from yours.
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是页码存储在文本框中。 Firefox、IE 和“返回 Netscape 1 的浏览器(几乎肯定是 NCSA Mosaic)”根据Brendan Eich 会在重新加载时恢复已保存的表单数据,但不会在切换重新加载时恢复。基于Webkit的浏览器在这里确实不兼容。
解决方案是避免使用文本框来显示数字(将其更改为 ,使用 jQuery 的 .text())或在加载时读取输入的值并适当更新页面的状态(将缩略图滚动到指定的页码)。
The issue is that the page number is stored in a textbox. Firefox, IE, and "Browsers going back to Netscape 1 (and almost certainly NCSA Mosaic)" according to Brendan Eich restore saved form data on reload, but not on shift-reload. Webkit-based browsers are indeed incompatible here.
The solution is to avoid using a textbox to display the number (change it to a <span>, change the span's value with jQuery's .text()) or to read the input's value on load and update the page's state appropriately (scrolling the thumbnails to the specified page number).