我有一个下拉菜单,在链接旁边我有“+”和“ - ”通过javascript生成,现在是我的问题。如何在自定义图像上更改“+”和“ - ”? “+”表示我的菜单关闭,“ - ”表示扩展时。这是代码:
$(function() {
// hide all the sub-menus
$("span.toggle").next().hide();
$(".current").parents("li ul").show();
// add a link nudging animation effect to each link
$("#jQ-menu a, #jQ-menu span.toggle").hover(function() {
$(this).stop().animate( {
//paddingLeft:"10px",
color:getElementById("#jQ-menu a, #jQ-menu span.toggle").color
}, 300);
}, function() {
$(this).stop().animate( {
paddingLeft:"0",
color:getElementById("#jQ-menu a, #jQ-menu span.toggle").color,
}, 300);
});
$("#jQ-menu li.current a").hover(function() {
$(this).stop().animate( {
//paddingLeft:"10px",
color:getElementById("#jQ-menu li.current a").color
}, 300);
}, function() {
$(this).stop().animate( {
paddingLeft:"0",
color:getElementById("#jQ-menu li.current a").color,
}, 300);
});
// set the cursor of the toggling span elements
$("span.toggle").css("cursor", "pointer");
// prepend a plus sign to signify that the sub-menus aren't expanded
$('span.toggle').each(function(){
if($(this).next().find(".current").html() != null){
$(this).prepend("- ");
}else{
$(this).prepend("+ ");
};
});
// add a click function that toggles the sub-menu when the corresponding
// span element is clicked
$("span.toggle").click(function() {
$(this).next().toggle(1000);
// switch the plus to a minus sign or vice-versa
var v = $(this).html().substring( 0, 1 );
if ( v == "+" ){
$(this).html( "-" + $(this).html().substring( 1 ) );
var li = $(this).parent().siblings('li');
$('span.toggle', li).each(function(){
var v = $(this).html().substring( 0, 1 );
if ( v == "-" ){
$(this).html( "+" + $(this).html().substring( 1 ) );
$(this).next().toggle(1000);
}
});
} else if ( v == "-" )
$(this).html( "+" + $(this).html().substring( 1 ) );
});
});
答案 0 :(得分:0)
预装图像html标记?
if($(this).next().find(".current").html() != null){
$(this).prepend(
$('<img />').attr({
'src': 'plus.gif',
'alt': '',
'height': '25'
})
);
} else {
$(this).prepend(
$('<img />').attr({
'src': 'minus.gif',
'alt': '',
'height': '25'
})
)
};
编辑:我刚才注意到你检查了+
或-
的html子串1。你可以在上面的图像中添加一个id属性,并检查元素的长度。