【发布时间】:2014-07-11 18:59:43
【问题描述】:
我想在我的 tumblr 博客中添加不同的主题设计。如果我点击标签,设计应该会改变。例如,如果我单击背景标签“食物”,侧边栏图像和字体应更改为与食物相关的主题。因为如果我尝试更改标签站点本身(tumblr 不允许我用新页面覆盖这一面),我将无处可去,我开始寻找是否可以使用脚本函数解决这个问题。我找到了一个与我搜索的代码接近的代码并且它有效(我只需要更改背景思想,因为我找不到用它来更改侧边栏图像的方法)。使用此代码,我安装了一个按钮,该按钮应更改主题并将您发送到合适的标签站点。现在的问题是,在我到达正确的站点之前,站点的更改就适用了。
例如:我在我的主页上,如果我现在点击标签“食物”的按钮,主页的设计会发生变化,之后标签网站将加载并且样式再次恢复正常。它应该被切换。首先加载正确的站点,然后更改设计。只要您浏览与标签相关的页面,它就应该保留设计,如果您离开页面,它应该会变回来。有人知道如何解决这个问题吗?
这是我找到的代码:
<script language="JavaScript">
<!--
function changeBGC(color){
document.body.style.backgroundColor = color;
}
//-->
</script>
<a href="tagged/food" onClick="javascript:changeBGC('#000099')">Click Blue</a>
反馈后更新 16.07.14:
这是我博客中代码的结尾(我没有触及其余代码):
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> {block:IfSoundCloudLinkForPlayer} <script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script> <script src="http://static.tumblr.com/j8hz7jr/nqTn1t8gg/stratus.js"></script> {/block:IfSoundCloudLinkForPlayer} <script src="http://static.tumblr.com/79xqv9n/d4nn7c5ja/theme.min.js"></script> <script>$('#loading').hide();</script> {block:IfGoogleAnalyticsID} <script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{text:Google Analytics ID}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script> {/block:IfGoogleAnalyticsID} <!--OO.TS.-->
<script type="text/javascript">
var _href = document.location.href;
var _primaryDir = document.location.pathname.split("/")[1];
var _secondaryDir = document.location.pathname.split("/")[2];
if (_secondaryDir == 'test'){
$('body').css('background-color','#C0C0C0')
}
if (_secondaryDir == 'test'){
$('body').css('masthead-background','http://www.rexwallpapers.com/images/wallpapers/landscape/sunshine/sunshine_5.jpg')
}else{
$('body').css('masthead-bg','#08298A')
}
</script>
</body> </html>
我之前一直在搞乱不同的参数,但这就是现在的样子。刊头背景只是我在互联网上找到的一张随机图片。我尝试了不同的链接,但没有一个有效,所以我想我的个人照片不会同样有效。就像我已经说过的,唯一有效的是改变背景颜色。
【问题讨论】:
-
javascript 不维护页面之间的状态,您必须将状态数据存储在 cookie 或 localStorage 中
-
听起来很难。我不是编程专家,只知道学校的基础知识。 cookie 和 localStorage 肯定不属于那个。我想在我把事情搞砸之前,我应该把手放开。但是感谢您的重播。 ;)
-
而不是将其附加到将指向另一个页面的按钮上,您可以捕获当前页面的 url 参数,然后在找到某些匹配项时设置一些 css,如果未找到匹配项则使用默认值,但这不是动态的,您需要提前知道标签。我已经使用 jquery 完成了这项工作。如果这有用,请告诉我,我可以提供更多帮助。
-
是的,这正是我最初一直在寻找的。带有脚本的按钮是一个“计划 b”的想法,因为我不知道如何用简单的 css 来改变它。我已经想过自己捕获 url 参数,但我不知道如何做到这一点。我可以看看你一直在使用的代码吗?
标签: javascript layout tags tumblr