Jquery滑块无响应 - Wordpress

时间:2014-05-20 17:43:26

标签: javascript php jquery css wordpress

我正在组建一个响应迅速的WordPress网站,但在滑块方面似乎陷入困境。我认为它与我网站上的某些内容存在冲突,因为默认主题(http://wordpress.org/themes/intuition)具有响应式滑块。

这是我正在使用的脚本:

//SLIDESHOW
jQuery(document).ready(function(){

//HOMEPAGE SLIDES
jQuery('.slider-slides').cycle({
    speed: 1000,
    timeout: 4000,
    fx: 'scrollHorz',
    next: '.slider-next', 
    prev: '.slider-prev',
    pager: '.slider-pages',
    pause: true,
    pauseOnPagerHover: true,
    containerResize: false,
    slideResize: false,
    fit: 1
}); 
jQuery('.slider-prev, .slider-next').click(function(){
    jQuery('.slider-slides').cycle('pause');
});
    jQuery(window).scroll(function(){
    if(jQuery(document).scrollTop() > 500)
        jQuery('#toplink').addClass('active');
    else
        jQuery('#toplink').removeClass('active');
});
}); 
function slide_resize(curr, next, opts, fwd) {
var ht = jQuery(this).height();
jQuery(this).parent().animate({height: ht}); 
}

我尝试将调整大小选项更改为true,但没有任何更改。我尝试将宽度:100%和高度:450px添加到其他地方建议的代码中,但这并没有改变任何东西。

我真的在我的智慧结束!如果有人有任何建议,那就太棒了。谢谢!

这是我的header.php:

<?php if(cpotheme_get_option('cpo_slider_always') == 1 || is_front_page()){ ?>
        <?php $feature_args = array(
        'post_type' => array('post', 'page'),
        'meta_key' => 'page_featured',
        'meta_value' => 'slider',
        'posts_per_page' => -1,
        'orderby' => 'menu_order',
        'ignore_sticky_posts' => 1,
        'order' => 'ASC'); ?>
        <?php $slider_posts = new WP_Query($feature_args); ?>
        <?php if($slider_posts->post_count > 0): $slide_count = 0; ?>
        <div id="slider" class="slider">
            <ul class="slider-slides">
                <?php while($slider_posts->have_posts()): $slider_posts->the_post(); ?>
                <?php $slide_count++; ?>
                <?php $image_url = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID()), array(1500, 7000), false, ''); ?>
                <?php $slide_position = get_post_meta(get_the_ID(), 'slide_position', true); ?>
                <li id="slide_<?php echo $slide_count; ?>" class="slide slide-<?php echo $slide_position; ?>" style="background:url(<?php echo $image_url[0]; ?>) no-repeat center; background-size:cover;">
                    <div class="container">
                        <a class="slide-textbox" href="<?php the_permalink(); ?>">
                            <h2 class="slide-title"><?php the_title(); ?></h2>
                            <div class="slide-content"><?php the_excerpt(); ?></div>
                        </a>
                    </div>
                </li>
                <?php endwhile; ?>
            </ul>
            <?php if($slider_posts->post_count > 1): ?>
            <div class='slider-prev'></div>
            <div class='slider-next'></div>
            <?php endif; ?>
        </div>  
        <?php endif; ?>


        <?php }else{ ?>

        <?php $header_image = get_header_image(); if($header_image != ''): ?>
        <img src="<?php echo $header_image; ?>" class="header-image" />
        <?php endif; ?>

1 个答案:

答案 0 :(得分:0)

你似乎没有slide_resize绑定任何东西。该函数存在,但不在任何地方调用。如果你偶然发现它在其他地方被称为你没有表现出来:

&#34;滑块&#34;本身和&#34;幻灯片&#34;他们自己缩小为移动响应(至少宽度)。你只需要担心滑块的高度,而不是图像本身。像这样的东西应该做的伎俩(抱歉语法错误):

jQuery(window).on('resize', function(){
    var currentWidth = jQuery('.slider-slides .container').width();
    var newHeight = currentWidth / 2.444; //2.444 is your 1100/450 from the full size slider
    ('.slider-slides .container').height(newHeight); //Container height
    jQuery('.slider-slides .slide').height(newHeight); // Slide wrap's height
});