0

以前の問題は、同じcoeの変数jqueryで@useselectorsを解決しました

私はこのような機能を作らなければなり ませんこれは私が理解していなかった大きな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 に答える