0

ポートフォリオページのサムネイルをクリックすると呼び出されるJquery.load()で読み込まれたコンテンツで、内部の簡単なスライダーを使用しています。問題は、最初にサムネイルをクリックしてコンテンツをロードしたときにスライダーが機能しないことですが、スライダーでdivを閉じ、サムネイルを再度クリックして再度開くと、スライダーが機能し始めます。Jquery.load()と関係があると感じています。これがウェブサイトiancramergraphics.com/newです

申し訳ありませんが、フォーラムに投稿するのはこれが初めてなので、質問を提示するための最良の方法に慣れています。私も以前に自分のjsフィドルを作成したことがなく、jqueryajax呼び出しをどのように含めることができるかわかりません。これが私の.jsとhtmlです(これがあなたが理解するのを助けるのに十分であることを願っています)

</ p>

$(document).ready(function() {
var id = $(this).attr("id");

$('.thumbnails div').click(function() {

    $('.portfolioDisplay').slideDown('fast');
    $("#slider").load('portfolio/' + id + ".html #slider > *");


    $("#slider").easySlider({
        continuous: true,
        nextText: "",
        prevText: ""
    });
}
});​

イージースライダー宣言を(ドキュメント)内に移動してみました。準備ができていて運がありません

ありがとうございました

htmlは最後のものに投稿しませんでした。ここにあります

<div class="thumbnails">
<div id="zubrickyremodeling"><img src="images/thumbnails/zubricky.png" alt="Zubricky            Remodeling" /></div>
</div>
4

3 に答える 3

0

私はそれを働かせました。プラグインまたは ajax コードの 2 番目のセットを動作させることができませんでした (いずれかが動作すると確信していますが、正しく取得できませんでした)。 . これは私が思いついたものです:

    $('.thumbnails div').click(function(){
        var id = $(this).attr("id");

$("#slider").load('portfolio/' + id + ".html #slider > *");
        $('#slider').ajaxComplete(function(){
        $("#slider").easySlider({
            continuous: true,
            nextText: "",
            prevText: "" 
        });

そしてこれはうまくいきました。助けてくれてどうもありがとう

于 2012-11-03T19:37:53.347 に答える
0

プラグインまたはあなたが提案した2番目のコードセットを取得できませんでした(ajaxの経験が浅いためだと思います)が、.loadの後に.ajaxCompleteを使用する必要があることに気づきました。これは私が思いついたものです:

    $('.thumbnails div').click(function(){
        var id = $(this).attr("id");

    $("#slider").load('portfolio/' + id + ".html #slider > *");
        $('#slider').ajaxComplete(function(){
        $("#slider").easySlider({
            continuous: true,
            nextText: "",
            prevText: "" 
        });

        });
    });
于 2012-11-03T19:41:09.187 に答える
0

動的にロードされたコンテンツにプラグインをバインドしています。次のようなものが必要ですhttp://docs.jquery.com/Plugins/livequery (かなり軽量)

次に、次のことができます。

$("#slider").load(url);

$.livequery(function(){
$("#slider").easySlider({
        continuous: true,
        nextText: "",
        prevText: ""
    });
});

または、リンク先のプラグインなしで ajax を使用する (動作するはずです):

$('.thumbnails div').on('click',function() {
    $.ajax({
    url:'http://www.yoursite.com/portfolio/' + id + ".html #slider > *",
    type:'GET',
    data:{},
    dataType:'data',
    error:function(){},
    beforeSend:function(){},
    success:function(_data){
    $('.portfolioDisplay').slideDown('fast');
    $('#slider').html(_data);
     $("#slider").easySlider({
            continuous: true,
            nextText: "",
            prevText: ""
        });
    }
    });
});
于 2012-11-03T17:51:56.703 に答える