jquery+ajax切换问题

heroironman 2012-12-25 02:35:04

<div class="cat_list">
<h6><img src="img_minus" />接线座 - 接头,插头和插口(1件)</h6>
<div class="goods_list_box" id="sup1_0_0"></div>
<h6><img src="img_plus" />端子 - 外壳,套(3件)</h6>
<div class="goods_list_box" id="sup1_0_1"></div>
<h6><img src="img_plus" />其它(3件)</h6>
<div class="goods_list_box" id="sup1_0_2"></div>
</div>


1)第一个div#sup1_0_0默认展开,并自动加载ajax调用getGoods()。
2)从第二个开始,默认收缩。点击h6 img,<div>展开,并且加载ajax调用getGoods(),
<img src="img_plus" />变成<img src="img_minus" />,
第二次点击h6 img,<div>收缩,<img src="img_minus" />,变回<img src="img_plus" />
3)第二次点击h6 img,<div>展开,但不再重新加载ajax调用。
...全文
150 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
YiYanXiYin 2012-12-25
  • 打赏
  • 举报
回复
给img添加一个属性来标志是否已经加载过了
heroironman 2012-12-25
  • 打赏
  • 举报
回复
引用 1 楼 chopper7278 的回复:
那就在ajax之前判断下img的src是否是img_plus 如果是就执行ajax 不是就直接展开就可以了
但是缩回去之后,还是会回img_plus的啊。我用了一个蠢方法,就是变回去变成img_plus2...
function getGoodsList(site, url, action, categoryid) {
	if ($("#h6_" + categoryid +" img").attr("src") == "images/icon_plus.gif") {
		$("#h6_" + categoryid +" img").attr("src", "images/icon_minus.gif");
		$("#h6_" + categoryid).next(".goods_list_box").show();
		ajax2(site, url, action, categoryid);
	} else if ($("#h6_" + categoryid +" img").attr("src") == "images/icon_plus2.gif") {
		$("#h6_" + categoryid +" img").attr("src", "images/icon_minus.gif");
		$("#h6_" + categoryid).next(".goods_list_box").show();
	} else {
		$("#h6_" + categoryid +" img").attr("src", "images/icon_plus2.gif");
		$("#h6_" + categoryid).next(".goods_list_box").hide();
	}	
}
有没有什么好的方法判断不要重载ajax的?
快乐乔巴 2012-12-25
  • 打赏
  • 举报
回复
那就在ajax之前判断下img的src是否是img_plus 如果是就执行ajax 不是就直接展开就可以了

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧