我正在使用jquery循环在我的Wordpress模板中创建幻灯片。"寻呼机"正在创建覆盖幻灯片的按钮,并将鼠标悬停向前幻灯片。我遇到的麻烦是我需要翻转保持不变,但我还需要设置 href,以便单击按钮将用户带到特定页面。
- 我需要从我的幻灯片中检索 href 的变量$target。
- 我需要点击使按钮可点击。
正如我上面所说,我是新手,这很可能是糟糕的代码/无法完成/我是个白痴。
我的查询:
<script src="<?php bloginfo('stylesheet_directory'); ?>/scripts/jquery.cycle.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
if ( $('.slides > .slide').size() > 1 ) {
$('.slides')
.cycle({
timeout: 6000,
speed: 1000,
pager: '#slides #mainNav',
pauseOnPagerHover: 200,
pagerEvent: 'mouseover',
pause: true,
pagerAnchorBuilder: function(idx, slide) {
var slideImage = $(slide).find('img');
var slideTitle = slideImage.attr('title');
var slideURL = "<?php echo $target; ?>";
return '<li><a href="/' + slideTitle + '">' + slideTitle + /* '<br /><span class="description">' + slideDescr + '</span>*/'</a></li>';
}
});
}
});
</script>
和我的Wordpress幻灯片:
<?php if ( is_front_page() && $slides = get_posts(array('numberposts' => -1, 'orderby' => 'menu_order', 'order' => 'ASC', 'post_type' => 'slide')) ) : ?>
<div id="mainImg">
<div id="slides">
<div class="slides">
<?php foreach ($slides as $slide) : ?>
<?php $title = $slide->post_title; ?>
<?php $content = wpautop($slide->post_content); ?>
<?php $description = get_post_meta($slide->ID, 'description', true); ?>
<?php $thumb = get_the_post_thumbnail($slide->ID, 'slide', array('title' => $title, 'alt' => $description)); ?>
<?php $url = get_post_meta($slide->ID, '_slide_url', true); ?>
<?php $target = (get_post_meta($slide->ID, '_slide_url_blank', true)) ? 'target="_blank"' : ''; ?>
<div class="slide">
<?php if ($url) : ?>
<a href="<?php echo $url; ?>" <?php echo $target; ?>><?php echo $thumb; ?></a>
<?php else: ?>
<?php echo $thumb; ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<div id="mainNav"></div>
</div>
</div><!--end mainImg-->
<?php endif; ?>
提前感谢您的帮助。
您在哪里:
var slideURL = "<?php echo $target; ?>"
将其替换为:
var slideURL = $(slide).find('a').attr('target');
您上面要做的是获取幻灯片对象,在幻灯片中找到"a"标签,然后获取"a"标签的"target"属性。然后将此值分配给 slideURL
变量(将'_blank'
或undefined
)。有关如何使用 jQuery 获取 HTML 元素和/或其属性的更多信息,您应该更加熟悉 jQuery 的遍历和属性方法。
无论如何,你永远不应该将Javascript代码与PHP甚至HTML代码混合。阅读更多关于"不显眼的JavaScript"的信息。