简体   繁体   English

为什么此jQuery在Codeigniter中不起作用?

[英]Why this jQuery doesn't work in Codeigniter?

This jQuery is already tested correctly on an html website, now I need to use it on a Codeigniter setup. 此jQuery已在html网站上正确测试,现在我需要在Codeigniter设置上使用它。

So I have a php page that looks like this: 所以我有一个PHP页面,看起来像这样:

    <head>        
        <link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/themes/<?php echo $this->config->item("theme"); ?>/normalize.css" type="text/css" />
        <link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/themes/<?php echo $this->config->item("theme"); ?>/component.css" type="text/css" />
        <script src="<?php echo base_url(); ?>assets/js/modernizr.custom.js"></script>  
    </head>
        <body>
        <div class="container">
            <!-- Top Navigation -->
            <section class="grid-wrap">
                <ul class="grid swipe-right" id="grid">

            <li><a href="#"><img src="<?php echo base_url(); ?>assets/css/themes/<?php echo $this->config->item("theme"); ?>/images/dummy.png" alt="dummy"><h3>A fantastic title</h3></a></li>
            <!-- etc -->
            </ul>


            </section>

        </div><!-- /container -->
        <script src="<?php echo base_url(); ?>assets/js/imagesloaded.pkgd.min.js"></script>
    <script src="<?php echo base_url(); ?>assets/js/colorfinder-1.1.js"></script>
    <script src="<?php echo base_url(); ?>assets/js/masonry.pkgd.min.js"></script>
    <script src="<?php echo base_url(); ?>assets/js/gridScrollFx.js"></script>
    <script src="<?php echo base_url(); ?>assets/js/classie.js"></script>
        <script>
            new GridScrollFx( document.getElementById( 'grid' ), {
                viewportFactor : 0.4
            } );
        </script>
    </body>
</html>

I don't have any Javascript problem on console, however when I scroll down the "GridScrollFx" jQuery doesn't add class "shown" to list items 我在控制台上没有任何Javascript问题,但是当我向下滚动“ GridScrollFx”时, jQuery不会将“显示”类添加到列表项中

GridScrollFx.prototype._scrollPage = function() {
        var self = this;
        this.items.forEach( function( item ) {
            if( !classie.has( item.el, 'shown' ) && !classie.has( item.el, 'animate' ) && inViewport( item.el, self.options.viewportFactor ) ) {
                ++self.itemsRenderedCount;

                if( !item.curtain ) {
                    classie.add( item.el, 'shown' );
                    return;
                };

                classie.add( item.el, 'animate' );

                // after animation ends add class shown
                var onEndAnimationFn = function( ev ) {
                    if( support.animations ) {
                        this.removeEventListener( animEndEventName, onEndAnimationFn );
                    }
                    classie.remove( item.el, 'animate' );
                    classie.add( item.el, 'shown' );
                };

                if( support.animations ) {
                    item.curtain.addEventListener( animEndEventName, onEndAnimationFn );
                }
                else {
                    onEndAnimationFn();
                }
            }
        });
        this.didScroll = false;
    }

And this is the CSS: 这是CSS:

/* Hover effects */
.grid li.shown:hover h3 {
    color: #fff;
    -webkit-transform: translate3d(0,-30px,0);
    transform: translate3d(0,-30px,0);
}

.grid li.shown:hover > a::before {
    border-width: 14px;
    border-color: #2E3444;
}
.grid li.shown img,
.grid li.shown h3 {
    visibility: visible;
}

I took the idea from this tutorial . 我从本教程中学到了这个想法。 So why on scrolling down all items already loaded are not shown? 那么,为什么向下滚动时未显示所有已加载的项目?

From your code (head and body) i did not find any jquery js file included. 从您的代码(头部和身体),我没有找到任何包含jQuery js文件。 adding something like this, 添加这样的东西,

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM