所以我搜索了周围并编辑了我找到的显示/隐藏jquery代码,它工作得很好,除非在点击它时html img属性不会被替换。jQuery隐藏和显示Attr Src图像不按预期切换
我的jQuery代码:
<script>
$(document).ready(function() {
var button = $('#hideButton');
//check the cookie when the page loads
if ($.cookie('currentToggle') === 'hidden') {
togglePanel(button, false);
}
else {
togglePanel(button, true);
}
//handle the clicking of the show/hide toggle button
button.click(function() {
//toggle the panel as required, base on current state
if (button.attr('src') === "images/expand.gif") {
togglePanel($(this), true);
}
else {
togglePanel($(this), false);
}
});
});
function togglePanel(button, show) {
var panel = $('#panel');
if (show) {
panel.removeClass('hidden');
button.attr('src','images/collapse.gif');
$.cookie('currentToggle', '', { path: '/' });
}
else {
panel.addClass('hidden');
button.attr('src','images/expand.gif');
$.cookie('currentToggle', 'hidden', { path: '/' });
}
}
</script>
我的HTML代码:
<a id="hideButton" href="#"><img src="images/collapse.gif"></a>
<div id="panel">
<p>
Test
</p>
</div>
当我看着我的萤火控制台,它显示了A HREF src属性改变,像这样 “<a ... src="extend.gif">
”,而不是实际的“<img src="">
”元素本身。我该如何解决?谢谢。
你这样做了艰辛的道路。 UI元素应该使用CSS背景,而不是内嵌图像。然后你可以简单地通过交换CSS类名来改变图像。 –
正如我之前所说,并且会再说一遍,不要只是复制和粘贴别人的代码。即使你编辑它,你也不会明白他想要实现什么。研究代码并写下你需要的元素。 – nkmol
感谢提示Diodeus,我会这样做。 – Momololo