返回列表 發帖
本帖最後由 henry620 於 2010-4-3 18:35 編輯
回復  henry620

範例:
index.html (有上下2個frame,上面的有用imageMenu,下面隨便)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5" />
<title>test</title>
<style type="text/css">
<!--
body {
        background-image: url(img/bg.gif);
}
.style1 {font-size: 24px}
-->
</style></head>
<frameset rows="240,*" cols="*" framespacing="0" frameborder="no" border="0" >
<frame src="imageMenu_top.html" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" title="topFrame" />
<frame src="bottom.html" name="mainFrame" noresize="noresize" id="mainFrame" title="mainFrame" />
</frameset>
<body>        
</body>
</html>
imageMenu_top.html(有用imageMenu的)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5" />
<title></title>

<body>
        <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
        <link rel="stylesheet" href="css/imageMenu.css" type="text/css" media="screen" />

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.4/mootools-yui-compressed.js"></script>
        <script type="text/javascript" src="lighter/Lighter.js"></script>
        <script type="text/javascript" src="lighter/Fuel.css.js"></script>
        <script type="text/javascript" src="lighter/Fuel.html.js"></script>
        <script type="text/javascript" src="lighter/Fuel.js.js"></script>
        
        <script type="text/javascript" src="js/fx.elements.js"></script>
        <script type="text/javascript" src="js/imageMenu.js"></script>
        <script type="text/javascript">
        
                window.addEvent('domready', function(){

                        var advancedMenu = new ImageMenu($('#imageMenuAdvanced a'),{
                                openWidth:310, 
                                border:2,
                                open: 0,
                        });
                });
        
        </script>
        
<div id="imageMenuAdvanced" class="imageMenu" align="center">
      <ul>
<li class="landscapes"><a href="http://www.aaronbirchphotography.com">Landscapes</a></li>  
<li class="people"><a href="http://www.aaronbirchphotography.com">People</a></li>  
<li class="nature"><a href="http://www.aaronbirchphotography.com">Nature</a></li>  
<li class="urban"><a href="http://www.aaronbirchphotography.com">Urban</a></li>  
<li class="abstract"><a href="http://www.aaronbirchphotography.com">Abstract</a></li>        </ul>
    </div>
</body>
</html>



如果用ie8開index.html..imageMenu就沒反應..圖不會打開...但如果開imageMenu_top.html..又正常的...

TOP

回復 31# henry620

我單獨開 imageMenu_top.html 也是無法運作喔~

你可能要先確定這個檔案是正常的,
或是試著改回 mootools 1.11 版,$ 改用 $$
To infinity and beyond!

TOP

您好!!
請問要怎麼使用呢??
下載下來的檔案有一個.js跟.css的檔案
不好意思 我是個新手 請大大幫忙!!

TOP

請問 如果我想製作網頁相簿
要怎麼才能做到跟 http://www.aaronbirchphotography.com/這網頁上一樣的呢
抱歉新手發問

TOP

請問一個問題
我用以下的代碼有做出一樣的滑動效果
但是我希望一進到網頁的時候, 第一個圖片是已經先展開的狀態
該如何改寫呢?
/* ==== slider nameSpace ==== */
var slider = function() {
        /* ==== private methods ==== */
        function getElementsByClass(object, tag, className) {
                var o = object.getElementsByTagName(tag);
                for ( var i = 0, n = o.length, ret = []; i < n; i++) {
                        if (o[i].className == className) ret.push(o[i]);
                }
                if (ret.length == 1) ret = ret[0];
                return ret;
        }
        function setOpacity (obj,o) {
                if (obj.filters) obj.filters.alpha.opacity = Math.round(o);
                else obj.style.opacity = o / 100;
        }
        /* ==== Slider Constructor ==== */
        function Slider(oCont, speed, iW, iH, oP) {
                this.slides = [];
                this.over   = false;
                this.S      = this.S0 = speed;
                this.iW     = iW;
                this.iH     = iH;
                this.oP     = oP;
                this.oc     = document.getElementById(oCont);
                this.frm    = getElementsByClass(this.oc, 'div', 'slide', 'slide');
                this.NF     = this.frm.length;
                this.resize();
                for (var i = 0; i < this.NF; i++) {
                        this.slides[i] = new Slide(this, i);
                }
                this.oc.parent = this;
                this.view      = this.slides[0];
                this.Z         = this.mx;
                /* ==== on mouse out event ==== */
                this.oc.onmouseout = function () {
                        this.parent.mouseout();
                        return false;
                }
        }
        Slider.prototype = {
                /* ==== animation loop ==== */
                run : function () {
                        this.Z += this.over ? (this.mn - this.Z) * .5 : (this.mx - this.Z) * .5;
                        this.view.calc();
                        var i = this.NF;
                        while (i--) this.slides[i].move();
                },
                /* ==== resize  ==== */
                resize : function () {
                        this.wh = this.oc.clientWidth;
                        this.ht = this.oc.clientHeight;
                        this.wr = this.wh * this.iW;
                        this.r  = this.ht / this.wr;
                        this.mx = this.wh / this.NF;
                        this.mn = (this.wh * (1 - this.iW)) / (this.NF - 1);
                },
                /* ==== rest  ==== */
                mouseout : function () {
                        this.over      = false;
                        setOpacity(this.view.img, this.oP);
                }
        }
        /* ==== Slide Constructor ==== */
        Slide = function (parent, N) {
                this.parent = parent;
                this.N      = N;
                this.x0     = this.x1 = N * parent.mx;
                this.v      = 0;
                this.loaded = false;
                this.cpt    = 0;
                this.start  = new Date();
                this.obj    = parent.frm[N];
                this.txt    = getElementsByClass(this.obj, 'div', 'text');
                this.img    = getElementsByClass(this.obj, 'img', 'diapo');
                this.bkg    = document.createElement('div');
                this.bkg.className = 'backgroundText';
                this.obj.insertBefore(this.bkg, this.txt);
                if (N == 0) this.obj.style.borderLeft = 'none';
                this.obj.style.left = Math.floor(this.x0) + 'px';
                setOpacity(this.img, parent.oP);
                /* ==== mouse events ==== */
                this.obj.parent = this;
                this.obj.onmouseover = function() {
                        this.parent.over();
                        return false;
                }
        }
        Slide.prototype = {
                /* ==== target positions ==== */
                calc : function() {
                        var that = this.parent;
                        // left slides
                        for (var i = 0; i <= this.N; i++) {
                                that.slides[i].x1 = i * that.Z;
                        }
                        // right slides
                        for (var i = this.N + 1; i < that.NF; i++) {
                                that.slides[i].x1 = that.wh - (that.NF - i) * that.Z;
                        }
                },
                /* ==== HTML animation : move slides ==== */
                move : function() {
                        var that = this.parent;
                        var s = (this.x1 - this.x0) / that.S;
                        /* ==== lateral slide ==== */
                        if (this.N && Math.abs(s) > .5) {
                                this.obj.style.left = Math.floor(this.x0 += s) + 'px';
                        }
                        /* ==== vertical text ==== */
                        var v = (this.N < that.NF - 1) ? that.slides[this.N + 1].x0 - this.x0 : that.wh - this.x0;
                        if (Math.abs(v - this.v) > .5) {
                                this.bkg.style.top = this.txt.style.top = Math.floor(2 + that.ht - (v - that.Z) * that.iH * that.r) + 'px';
                                this.v = v;
                                this.cpt++;
                        } else {
                                if (!this.pro) {
                                        /* ==== adjust speed ==== */
                                        this.pro = true;
                                        var tps = new Date() - this.start;
                                        if(this.cpt > 1) {
                                                that.S = Math.max(2, (28 / (tps / this.cpt)) * that.S0);
                                        }
                                }
                        }
                        if (!this.loaded) {
                                if (this.img.complete) {
                                        this.img.style.visibility = 'visible';
                                        this.loaded = true;
                                }
                        }
                },
                /* ==== light ==== */
                over : function () {
                        this.parent.resize();
                        this.parent.over = true;
                        setOpacity(this.parent.view.img, this.parent.oP);
                        this.parent.view = this;
                        this.start = new Date();
                        this.cpt = 0;
                        this.pro = false;
                        this.calc();
                        setOpacity(this.img, 100);
                }
        }
        /* ==== public method - script initialization ==== */
        return {
                init : function() {
                        // create instances of sliders here
                        // parameters : HTMLcontainer name, speed (2 fast - 20 slow), Horizontal ratio, vertical text ratio, opacity
                        this.s1 = new Slider("slider", 12, 2.3/3, 1/3.2, 90);
                        setInterval("slider.s1.run();", 16);
                }
        }
}();

TOP

返回列表 回復 發帖