0

以前的问题解决了@use selectors in variable jquery on the same coe

我必须制作这样的功能, 是使用我不理解的大 jquery 代码

这是我的jsfiddle , 我做了同样的功能,但是当它被点击时页面跳转到那个元素我不想页面跳转我需要一些淡入淡出

$(".show").click(function() {
    var link = $('this').attr('href');
  $(link).show();

});

$(".close").click(function() {
  $(this).closest("div.popupbox").hide();
});

和 html

<a href="#popup" id="show" class="show">a</a>
<a href="#popup1" id="show1" class="show">b</a>
<a href="#popup2" id="show2" class="show">c</a>

我想在锚点单击时显示#popup,但不想页面跳转/滚动到我top:10000px在小提琴中给出的用于测试此问题的 id,因为在我的原始页面中它移动到特定元素

小提琴上的完整代码,我想要这个功能

4

4 回答 4

3

试试这个:

$(".show").click(function(e) {
  e.preventDefault();
  var link = $(this).attr('href'); //<----remove quotes in $('this')
  $(link).fadeIn(); // <-------------use fadeIn() instead
});

$(".close").click(function(e) {
  e.preventDefault();
  $(this).closest("div.popupbox").hide();
});

并将其调整top:100000px为较小的值,例如50px

于 2013-03-13T11:40:58.210 回答
1

采用preventDefault()

$(".show").click(function(e) {
    e.preventDefault();
    var link = $(this).attr('href');
    $(link).show().animate(
    {
        scrollTop: $(link).offset().top
    },800);;

});

$(".close").click(function(e) {
  e.preventDefault();
  $(this).closest("div.popupbox").hide();
  $('body,html').animate(
    {
        scrollTop: 0
    }, 800);
});
于 2013-03-13T11:32:58.300 回答
1
$('#foo',function(event) {
    event.preventDefault();
});
于 2013-03-13T11:33:09.623 回答
1

尝试event.preventDefault()

$(".show").click(function(event) {
    event.preventDefault();
    var link = $(this).attr('href');
    $(link).show();

});

$(".close").click(function(event) {
    event.preventDefault();
    $(this).closest("div.popupbox").hide();
});

文档http://api.jquery.com/event.preventDefault/

于 2013-03-13T11:35:52.650 回答