我想知道通过使用JQuery动态替换wordpress网站中的内容有多难。 这是我要说的文章: http://css-tricks.com/6336-dynamic-page-replacing-content/
我的基本想法是默认将javascript文件中引用的元素更改为wordpress中创建的元素。这意味着将页面换行更改为包装器,将主内容更改为main-col,将内容更改为内容。
当我尝试更换'胆量'时,我碰到了一个减速带。由于某种原因,页面不再显示内容。
无论如何,在我把它整理好后,
德尔>
我明白了。我会将代码插入我的wordpress网站并希望最好。
其中一页:
<body>
<div id="wrapper">
<header></header>
<div class="nav">
<ul class="sf-menu">
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
</header>
<section id="main-col">
<div id="content">
<h2>Home</h2>
<p></p>
<p></p>
</div>
</section>
</div>
</body>
</html>
插入标题的Javascript:
/*
* jQuery hashchange event - v1.2 - 2/11/2010
* http://benalman.com/projects/jquery-hashchange-plugin/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
(function($,i,b){var j,k=$.event.special,c="location",d="hashchange",l="href",f=$.browser,g=document.documentMode,h=f.msie&&(g===b||g<8),e="on"+d in i&&!h;function a(m){m=m||i[c][l];return m.replace(/^[^#]*#?(.*)$/,"$1")}$[d+"Delay"]=100;k[d]=$.extend(k[d],{setup:function(){if(e){return false}$(j.start)},teardown:function(){if(e){return false}$(j.stop)}});j=(function(){var m={},r,n,o,q;function p(){o=q=function(s){return s};if(h){n=$('<iframe src="javascript:0"/>').hide().insertAfter("body")[0].contentWindow;q=function(){return a(n.document[c][l])};o=function(u,s){if(u!==s){var t=n.document;t.open().close();t[c].hash="#"+u}};o(a())}}m.start=function(){if(r){return}var t=a();o||p();(function s(){var v=a(),u=q(t);if(v!==t){o(t=v,u);$(i).trigger(d)}else{if(u!==t){i[c][l]=i[c][l].replace(/#.*/,"")+"#"+u}}r=setTimeout(s,$[d+"Delay"])})()};m.stop=function(){if(!n){r&&clearTimeout(r);r=0}};return m})()})(jQuery,this);
$(function() {
var newHash = "",
$mainContent = $("#main-col"),
$pageWrap = $("#wrapper"),
baseHeight = 0,
$el;
$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();
$("sf-menu").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find("content")
.fadeOut(200, function() {
$mainContent.hide().load(newHash + "#content", function() {
$mainContent.fadeIn(200, function() {
$pageWrap.animate({
height: baseHeight + $mainContent.height() + "px"
});
});
$("sf-menu a").removeClass("current");
$("sf-menu a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
});
答案 0 :(得分:0)
将名称更改为您的css ID ..这是唯一的原因。如果您在js和php / html中更改了id,但在css中没有更改,则不会显示任何内容。
将#page-wrap更改为#wrapper,将#main-content更改为#main-col及其完成。
总的来说,您需要修改3个文件
Js,HTML / PHP和CSS