jquery.tinyscrollbar弹出滚动条不起作用

时间:2012-05-22 12:58:22

标签: jquery html css

请点击“查看全部”然后显示一个弹出窗口。弹出窗口显示但滚动条无效。

的JavaScript

$(document).ready(function(){
    $('#scrollbar1').tinyscrollbar();    
});

//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;

//loading popup with jQuery magic!
function loadPopup(){
    //loads popup only if it is disabled
    if(popupStatus==0){
        jQuery("#backgroundPopup").css({
            "opacity": "0.7"
        });
        jQuery("#backgroundPopup").fadeIn("slow");
        jQuery("#popupContact").fadeIn("slow");
        popupStatus = 1;
    }
}

//disabling popup with jQuery magic!
function disablePopup(){
    //disables popup only if it is enabled
    if(popupStatus==1){
        jQuery("#backgroundPopup").fadeOut("slow");
        jQuery("#popupContact").fadeOut("slow");
        popupStatus = 0;
    }
}

//centering popup
function centerPopup(){
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = jQuery("#popupContact").height();
    var popupWidth = jQuery("#popupContact").width();
    //centering
    jQuery("#popupContact").css({
        "position": "absolute",
        "top": windowHeight/2-popupHeight/2,
        "left": windowWidth/2-popupWidth/2
    });
    //only need force for IE6

    jQuery("#backgroundPopup").css({
        "height": windowHeight
    });

}


//CONTROLLING EVENTS IN jQuery
jQuery(document).ready(function(){
    //LOADING POPUP
    //Click the button event!
    jQuery("#button").click(function(){
        //centering with css
        centerPopup();
        //load popup
        loadPopup();
    });

    //CLOSING POPUP
    //Click the x event!
    jQuery("#popupContactClose").click(function(){
        disablePopup();
    });
    //Click out event!
    jQuery("#backgroundPopup").click(function(){
        none();
    });
    //Press Escape event!
    jQuery(document).keypress(function(e){
        if(e.keyCode==27 && popupStatus==1){
            disablePopup();
        }
    });

});

function LoadPop(){
        centerPopup();
        loadPopup();
}

HTML

<div class="achieve">
    <h2><a href="#" id="button">(see all)</a></h2>
    <div class="achieve-container">

    </div>
</div>
<div id="popupContact">
    <div class="" id="contactArea">
            <div class="logbox">
                <div id="scrollbar1">
                <div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>
                <div class="viewport">
                <div class="more-achive">
                    <h2>My Profile <a id="popupContactClose"><img src="images/close.gif" /></a></h2>
                    <div class="spacer"></div>
                    <div class="profstat">
                        <img src="images/pro-image1.gif" alt="Profile Image" />
                        <h1>Emily Hsiung</h1>
                        <p><span>567</span> Points</p>
                        <p><span>22</span> achievements</p>
                    </div>
                    <div class="proflevelindicator">
                        <img src="images/level-indicator.gif" alt="level indicator" />
                        <h1>Level 5 Elephant Hunter</h1>
                        <p><span>33</span> Points to next level</p>
                    </div>
                    <div class="spacer"></div>
                    <div class="achievelist">
                        <h2>Achievements</h2>
                        <ul>
                            <li>
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">Spotlight</div>
                            </li>
                            <li>
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">15 Minutes of Fame</div>
                            </li>
                            <li>
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">Contributor</div>
                            </li>
                            <li class="nomar">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">Super Contributor</div>
                            </li>
                            <li class="nomar1">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">Share Your Toughts</div>
                            </li>
                            <li class="nomar1">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">shout From The Rooftops</div>
                            </li>
                            <li class="nomar1">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">15 Minutes of Fame</div>
                            </li>
                            <li class="nomar">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">Super Contributor</div>
                            </li>
                            <li class="nomar1">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">Share Your Toughts</div>
                            </li>
                            <li class="nomar1">
                                <div class="imagbox"><img src="images/ach6.gif" /></div>
                                <div class="titlebox">shout From The Rooftops</div>
                            </li>
                            <li class="nomar1">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">15 Minutes of Fame</div>
                            </li>
                            <li style="margin:0 0 0 0;">
                                <div class="imagbox"><img src="https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQB1T4_bghGtisR6Tom0Umf3FZHCQoPGFJgD0Orck3cB0F8iTZN" /></div>
                                <div class="titlebox">Contributor</div>
                            </li>
                        </ul>
                    </div>
                </div>
                <div class="spacer"></div>
            </div>
        </div>
    </div>
</div>
<div class="spacer"></div>
</div>
<div id="backgroundPopup"></div>

2 个答案:

答案 0 :(得分:8)

JavaScript错误Uncaught TypeError: Cannot read property 'scrollHeight' of undefined位于jquery.tinyscrollbar.js:54。查看the source,它正在尝试使用

找到scrollHeight
oContent[options.axis] = oContent.obj[0]['scroll'+ sSize];

但oContent定义为

var oContent = { obj: $('.overview', root) };

标记中没有class="overview"的元素,因此脚本失败。

我建议您访问您似乎有downloaded the script from网站的示例,特别是基本滚动条的 HTML 。该脚本期待您在演示中没有的标记。

答案 1 :(得分:0)

我看到一个自定义滚动条,但没有滚动功能。你可以使用默认的浏览器滚动条吗?

如果您移除滚动条div并将overflow:hidden替换为overflow:scroll属性上的#scrollbar1 .viewport,则该框将使用默认滚动条滚动。

这是一个jsfiddle演示。

您可以随时返回并使用css设置滚动条样式,请参阅css技巧中的this article

希望有所帮助!