在我的header.php上(包括在我的所有页面中,因为里面有菜单),我创建了这个功能,它显示/隐藏了一个#fullscreen-slider,它改变了#logo的颜色。滑块打开时设置为白色,滑块打开时设置为黑色。
我希望这个文本在我的主页上最初为白色,而在所有其他文本上为黑色。
$(document).ready(function() {
$('#logo a').css('color','white');
$('#logo').click(function(event) {
if ($('#fullscreen-slider').is(':visible')) {
$('#fullscreen-slider').hide();
$('#logo a').css('color','black');
} else {
$('#fullscreen-slider').show();
$('#logo a').css('color','white');
}
event.preventDefault();
});
});
我还在除主页之外的所有页面上添加了此功能:
<script>
$(function() {
$('#fullscreen-slider').hide();
$('#logo a').css('color','#333');
});
</script>
这是html:
<body>
<div id="conteneur">
<div id="fullscreen-slider" class="royalSlider rsDefault">
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/perron_01.jpg" />
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/perron_01.jpg" />
</div>
<header>
<div id="logo">
<a href="#">Adequat</a>
答案 0 :(得分:0)
如果您的默认颜色为白色,请在CSS中设置。
#logo a {
color: #white;
}
确保缓存您的元素,这样您就不会像这样经常访问DOM:
var logoAnchor = $('#logo a'),
logo = $('#logo'),
fullscreenSlider = $('#fullscreen-slider');
我假设你的徽标锚在#fullscreen-slider内?如果是这样,那么你需要遍历,因为jQuery无法找到你所针对的元素。如果没有,那么试试这个:
logoAnchor.click(function(event) {
if ($(fullscreenSlider).is(':visible')) {
$this.hide();
logoAnchor.css('color','black');
} else {
$this.show();
logoAnchor.css('color','white');
}
});
是否可以将HTML粘贴到您的问题中。
答案 1 :(得分:0)
我希望这个文本在我的主页上最初为白色,而在所有其他文本上为黑色。
我会实现这个检查实际网址。使用PHP或js。
使用js document.location.pathname
并假设您知道主页的网址(例如:www.your-domain.com/index.php
将返回/index.php
而www.your-domain.com/
将返回/
)
var logoColor = 'black';
if (document.location.pathname.indexOf("index.php") != 0 ||
document.location.pathname == '/') {
logoColor = 'white';
}
// ...
$('#logo a').css('color', logoColor);
使用PHP:
在 index.php 中,在包含 header.php 之前添加以下内容:
<?php $logoColor = 'white'; ?>
然后在 header.php :
// ...
$('#logo a').css('color', '<?php echo isset($logoColor) ? $logoColor : 'black' ; ?>');
// ...