私はまだ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 -->