我正在尝试为我的网站创建一个动态分页系统,并且我已经决定使用ajax回调函数在用户点击不同的页面元素时动态显示评论。所以我粘贴下面的代码作为我如何做到这一点的例子…我想问你们我做得是否正确,或者如果他们的方法更好,请给我指出正确的方向:
javascript:
$(document).ready(function(){
$(".pages").click(function(){
var pageno=$(this).attr("id").slice(4,8);//slicing out numbers from the id i.e "1" from "page1"
$.get("news.php", { pageno: pageno},
function(data){
$("#comments").html(data);
});
});
});html:
<div>
<span id="page1" class="pages" >1</span>
<span id="page2" class="pages" >2</span>
<span id="page3" class="pages" >3</span>
</div >
<div id="comments">
</div>php:
<div><?php echo $_REQUEST['pageno'];?></div> 发布于 2009-07-13 18:11:26
我不认为这是不合理的,尽管我会提到两个想法。
首先,我认为动态分配点击处理程序是一件好事,而不是真正将"click=“放入超文本标记语言(这是”渐进式增强“的核心)。Hoerver,您可能希望使用不同类型的选择器。按类查找一组元素是定义元素的较慢方法之一,特别是在可能有许多页面的情况下。您可以将它们都放在一个div中,然后执行$("#myDiv span").click()。这应该会快得多。
其次,假设页码总是从span id的第四个字符开始似乎有点脆弱。将id设置为页码本身可能会更好。
发布于 2009-07-13 18:25:18
$(document).ready(function(){
var isWorking = false;
$(".pages").click(function(){
if ( isWorking )
{
alert('Please wait for your preceeding request to finish.');
return false;
}
isWorking = true;
var pageno = $(this).text();
$.get("news.php", { pageno: pageno},
function(data){
$("#comments").html(data);
isWorking = false;
});
});
});https://stackoverflow.com/questions/1120905
复制相似问题