2

私はまだjQueryを学習しているので、ここで何が起こっているのかわかりませんが、css-tricksで見つけたフィルタリングスクリプトを使用して、クリック時にコンテンツをdivにロードしようとしていますがundefined、URLを取得しています.

フィルタリング スクリプトの影響を受けないページの一部でこれを行ったところ、機能したので、何が競合しているのかを把握する必要があります。

誰でも助けてください!

これは、コンテンツをロードするための私のjQueryですdiv

$(document).ready(function(){
    $('#target').click(function() {
        event.preventDefault();
        $('#target').empty();
        $('#target').load('project1.html');
    });
});

これはhtmlです:

<div id="target">
    <div class="sixteen columns clearfix thumbnail photoeditor">
        <div class="two-thirds columns alpha">
            <img src="images/d1.png" class="scale-with-grid" alt="fieldlazer" />
        </div>
        <div class="one-third columns omega">
            <span class="title">Title goes here</span>
            <span class="details">Description goes here</span>
        </div>
    </div>
</div>

これはフィルター jquery スクリプトです。

(function($){
    // Shuffle function from: http://james.padolsey.com/javascript/shuffling-the-dom/

    $.fn.shuffle = function() {
        var allElems = this.get(),
            getRandom = function(max) {
                return Math.floor(Math.random() * max);
            },
            shuffled = $.map(allElems, function() {
                var random = getRandom(allElems.length),
                    randEl = $(allElems[random]).clone(true)[0];
                allElems.splice(random, 1);
                return randEl;
            });

        this.each(function(i){
            $(this).replaceWith($(shuffled[i]));
        });

        return $(shuffled);
    };
})(jQuery);

$(function(){
    $(".thumbnail")
        .css("opacity","0.7")
        .hover(
            function() { $(this).css("opacity","1"); }, 
            function() { $(this).css("opacity","0.7"); }
        )

        $("#allcat").click(function(){
            $(".thumbnail").slideDown();
            $("#catpicker a").removeClass("current");
            $(this).addClass("current");
            return false;
        });

        $(".filter").click(function(){
            var thisFilter = $(this).attr("id");
            $(".thumbnail").slideUp();
            $("."+ thisFilter).slideDown();
            $("#catpicker a").removeClass("current");
            $(this).addClass("current");
            return false;
        });

        $(".thumbnail").shuffle();
});

どんな助けでも本当に素晴らしいでしょう。ありがとう!

編集:または、私が試した:

$(document).ready(function(){

$('#target').click(function(){

var link = $(this).attr('rel');
event.preventDefault();
$('#target').empty();
$('#target').load(link);

});
});

htmlで:

<div id="target" class="sixteen columns clearfix thumbnail photoeditor" rel="404.html">
<div class="two-thirds columns alpha">
<img src="images/d1.png" class="scale-with-grid" alt="fieldlazer" /></div>
<div class="one-third columns omega">
<span class="title">Title goes here</span>
<span class="details">Description goes here</span>
</div>
</div>

それでも役に立たない。

編集:別の更新

SO私はそれを機能させましたが、最初のdiv(Project1)でのみ機能し、外部htmlのDIVを空にして#main-contentのコンテンツを元に戻すと、奇妙に表示され、機能が機能しません。助言がありますか?

新しい Jquery は次のとおりです。

$(document).ready(function(){

$('#portfolio div').click(function(event){

var link = $(this).attr('rel');
event.preventDefault();
$('#main-content').load(link);

$("#back").live("click", function(event){
$('#main-content').empty();
$('#main-content').load('index.html #main-content *');
}); 
});
});

および HTML:

<div id="main-content">
<ul class="tabs-content">
<li class="active" id="portfolio">


<ul id="catpicker">
<li class="active"><a href="#" id="allcat" class="current">View All</a></li>
<li><a href="#" id="photoeditor" class="filter">Photo Editor</a></li> 
<li><a href="#" id="producer" class="filter">Producer</a></li></ul>

<div class="sixteen columns thumbnail photoeditor" rel="project1.html">
<div class="two-thirds columns alpha">
<img src="images/d1.png" class="scale-with-grid" alt="fieldlazer" /></div>
<div class="one-third columns omega">
<span class="title">Project 1</span>
<span class="details">Details go here</span>
</div>
</div>

<div class="sixteen columns thumbnail photoeditor" rel="project2.html">
<div class="two-thirds columns alpha">
<img src="images/d1.png" class="scale-with-grid" alt="fieldlazer" /></div>
<div class="one-third columns omega">
<span class="title">Project 2</span>
<span class="details">Details go here</span>
</div>
</div>

<div class="sixteen columns thumbnail photoeditor" rel="project3.html">
<div class="two-thirds columns alpha">
<img src="images/d1.png" class="scale-with-grid" alt="fieldlazer" /></div>
<div class="one-third columns omega">
<span class="title">Project 3</span>
<span class="details">Details go here</span>
</div>
</div>


</li>
<li id="words">
</li>
</ul>
</div><!-- main content --> 
4

1 に答える 1

0

prevent default 行でエラーが発生しました。これは、イベントを渡すのを忘れたためです。このように .click 関数にイベントを渡します。

$('#target').click(function(event)

その後、それは私のために働いた。

于 2012-05-31T00:07:23.813 に答える