我试图将+
更改为-
切换,但是很难过,你能否向我推荐一些关于如何实现这一目标的教程?
我甚至不知道从哪里开始,我有我的代码:
$('span .toggle', $(this)).text('+');
});
// display the current li with a '-' marker
$('p', li).slideDown(delay);
$('span', li).text('-');
但显然我做错了。
这是我的小提琴:
任何想法?
答案 0 :(得分:1)
我会向你推荐,最好的起点是简单 - 这是关键。从你熟悉的东西开始,逐步建立起来。将你的事情分解为几步,经常保存,经常进行实验,当出现问题时,撤消。
我怀疑这是你想要的最终代码? http://jsfiddle.net/qj58Lm5q/4/
$(function () {
$("li.subMenu").click(function () {
var slideDown = $(this).find(".toggle").text() == "+" ? false : true;
$(".subMenu-link").slideUp();
$(".toggle").text('+');
if (!slideDown) {
$(this).find('.subMenu-link').slideDown();
$(this).find('.toggle').text('-');
}
});
$(".subMenu-link").not(':first').hide();
});
请注意,我删除了所有CSS,为此演示清理了一些多余的HTML,并且几乎取消了整个JavaScript。从那里慢慢地工作。添加你的CSS,检查。添加HTML,检查。添加一点脚本,检查。如果有什么破裂,请问为什么,然后还原。
只要你不放弃,你就会成功。
答案 1 :(得分:1)
小提琴:DEMO
$("li.subMenu").click(function () {
$(this).find('ul').slideToggle();
var ul = $(this).find('.toggle');
if (ul.text() == "+")
$(ul).text("-");
else
$(ul).text("+");
});
答案 2 :(得分:0)
小提琴:DEMO 这就是我为你所做的。
$("li.subMenu").click(function () {
$(".subMenu-link",this).toggle("slow", function() {
var text =$(this).prev().text() == '-' ? '+' : '-';
$(this).prev().text(text);
});
});
答案 3 :(得分:0)
$('#clickElementId').on('click',function(){
$(this).text($(this).text() == '+' ? '-' : '+');
})