1

请单击“查看全部”,然后显示一个弹出窗口。弹出窗口出现,但滚动条不起作用。

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>
4

2 回答 2

8

JavaScript 错误Uncaught TypeError: Cannot read property 'scrollHeight' of undefined位于jquery.tinyscrollbar.js:54. 查看源代码,它试图找到 scrollHeight 与

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

但 oContent 定义为

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

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

我建议按照您似乎已从中下载脚本的站点中的示例进行操作,尤其是用于基本滚动条的 HTML。该脚本需要您在演示中没有得到的标记。

于 2012-05-22T13:20:50.127 回答
0

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

如果您删除滚动条 div 并替换overflow:hiddenoverflow:scroll您的 #scrollbar1 .viewport属性,该框将​​使用默认滚动条滚动。

这是一个jsfiddle演示。

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

希望有帮助!

于 2012-05-22T13:09:25.513 回答