【发布时间】:2014-06-23 03:41:07
【问题描述】:
我必须编写代码来查找所有锚点并附加一个显示元素文本弹出窗口的函数。我的代码可能是一团糟,但我能够让它工作,但我现在遇到的问题是:
如果我单击链接 1,然后单击链接 2,然后再次单击链接 1,它会显示链接 2 的文本,但是如果我再次单击它,它会显示正确的文本。
我不确定如何重写或修复此代码以正确显示被点击的元素,一直是文本。
这是一个 jsfiddle 示例:http://jsfiddle.net/2aLfL/1/
$(document).ready(function() {
function deselect(e) {
$('.pop').slideFadeToggle(function() {
e.removeClass('selected');
});
}
$(function() {
$('a').click(function(){
if($(this).hasClass('selected')){
deselect($(this));
} else {
$(this).addClass('selected');
$('.pop').slideFadeToggle();
var elText = $(this).text();
$('#elPop').html("<p>" + "<br><br>" + "You just clicked: <br><b>" + elText + "</b><br><br><br>" + "Click anywhere to Close" + "</p>");
console.log(this);
$("#closeWin").click(function () {
$('.anchorpop').hide();
});
}
return false;
});
});
$(function close(){
$(document).click(function(){
$('.anchorpop').hide();
});
});
$.fn.slideFadeToggle = function(easing, callback) {
return this.animate({ opacity: 'toggle', height: 'toggle' }, 'fast', easing, callback);
};
});
【问题讨论】:
标签: javascript jquery html css