Board logo

標題: 在 XHTML 1.0 也可正常運行的 ALT POP UP JS for 6.0.0 [列印本頁]

作者: Linux0911    時間: 2007-10-25 08:44 PM     標題: 在 XHTML 1.0 也可正常運行的 ALT POP UP JS for 6.0.0

原作:未知,版權歸他所有
功能:滑鼠移過去直接顯示有 alt or title 語法的文字部分
[attach]5748[/attach]
支援:IE, Firefox, Opera 等支援 JavaScript 的瀏覽器


修改 ./include/javascript/common.js

找到
複製內容到剪貼簿
代碼:
var lang = new Array();
上面加上
複製內容到剪貼簿
代碼:
var sPop = null;
然後在最底下加入
// PopUpText for Discuz! 6.0.0 - START
document.write("<style type='text/css'>");
document.write(".cPopText { font-family: Verdana; background-color: #FFFFFF; border: 1px #666 dotted; font-size: 12px; padding-right: 4px; padding-left: 4px; line-height: 18px; padding-top: 2px; padding-bottom: 2px; visibility: hidden; filter: Alpha(Opacity=80); opacity: 0.8;}");
document.write("</style>");
document.write("<div id='popLayer' style='text-align: left; position: absolute; z-index: 1000' class='cPopText'></div>")

function showPopupText(event) {
        if(event.srcElement) o = event.srcElement; else o = event.target;
        if(!o) {
                return;
        }
        MouseX = event.clientX;
        MouseY = event.clientY;
        if(o.alt != null && o.alt != '') {
                o.pop = o.alt;
                o.alt = '';
        }
        if(o.title != null && o.title != '') {
                o.pop = o.title;
                o.title = '';
        }
        if(o.pop != sPop) {
                sPop = o.pop;
                if(sPop == null || sPop == '') {
                        $('popLayer').style.visibility = "hidden";
                } else {
                        popStyle = o.dyclass != null ? o.dyclass : 'cPopText';
                        $('popLayer').style.visibility = "visible";
                        showIt();
                }
        }
}

function showIt() {
        $('popLayer').className = popStyle;
        $('popLayer').innerHTML = sPop.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\n/g,"<br>");
               
        var bodySL, bodyST;
        if(window.pageXOffset){
                bodySL=window.pageXOffset;
        }else if(document.documentElement&&document.documentElement.scrollLeft){
                bodySL=document.documentElement.scrollLeft;
        }else if(document.body){
                bodySL=document.body.scrollLeft; //author: meizz
        }
        
        if(window.pageYOffset){
                bodyST=window.pageYOffset;
        }else if(document.documentElement&&document.documentElement.scrollTop){
                bodyST=document.documentElement.scrollTop;
        }else if(document.body){
                bodyST=document.body.scrollTop;
        }
        
        var bodyCW, bodyCH;
        if(window.innerWidth){
                bodyCW=window.innerWidth;
        }else if(document.documentElement&&document.documentElement.clientWidth){
                bodyCW=document.documentElement.clientWidth;
        }else if(document.body){
                bodyCW=document.body.clientWidth; //author: meizz
        }
        
        if(window.innerHeight){
                bodyCH=window.innerHeight;
        }else if(document.documentElement&&document.documentElement.clientHeight){
                bodyCH=document.documentElement.clientHeight;
        }else if(document.body){
                bodyCH=document.body.clientHeight;
        }

        if($('popLayer').clientWidth>300){
                var popWidth = 300;
        }else{
                var popWidth = $('popLayer').clientWidth;
        }
        
        var popWidth = $('popLayer').clientWidth;
        var popHeight = $('popLayer').clientHeight;
        var popLeftAdjust = MouseX + 12 + popWidth > bodyCW ? -popWidth - 24 : 0;
        var popTopAdjust = MouseY + 12 + popHeight > bodyCH ? -popHeight - 24 : 0;
        $('popLayer').style.left = (MouseX + 12 + bodySL + popLeftAdjust) + 'px';
        $('popLayer').style.top = (MouseY + 12 + bodyST + popTopAdjust) + 'px';
}

if(!document.onmouseover) {
        document.onmouseover = function(e) {
                var event = e ? e : window.event;
                showPopupText(event);
        };
}
// PopUpText for Discuz! 6.0.0 - END



其中背景、框邊、字體大小、字形、背景透明度等等設定在上面這段 (修改紅字搭配自己論壇風格)
引用:
".cPopText { font-family: Verdana; background-color: #FFFFFF; border: 1px #666 dotted; font-size: 12px; padding-right: 4px; padding-left: 4px; line-height: 18px; padding-top: 2px; padding-bottom: 2px; visibility: hidden; filter: Alpha(Opacity=80); opacity: 0.8;}"

作者: lsy    時間: 2007-10-25 10:20 PM     標題: 回覆 1# Linux0911 的帖子

失敗左....
大大..幫我看看發生咩事
http://www.dreamfd.com/forum/index.php
作者: Linux0911    時間: 2007-10-25 10:44 PM

引用:
原帖由 lsy 於 2007-10-25 10:20 PM 發表
失敗左....
大大..幫我看看發生咩事
http://www.dreamfd.com/forum/index.php
本測試是使用原版 0904 的來改, 出錯可能添加了其他插件所導致
作者: Linux0911    時間: 2007-10-29 08:46 PM

原來是 Discuz! 6.0 的 CODE 問題

下載附件來複製就可以了

D6 Code 語法有瑕疵
作者: BeautyNet    時間: 2008-1-16 10:35 PM

好像有點走位似的@@大大可以幫我看看嗎??
這個插件效果真的很漂亮!!謝謝大大!!
http://beautynethk.com/discuz2

[ 本帖最後由 BeautyNet 於 2008-1-16 10:38 PM 編輯 ]
作者: Linux0911    時間: 2008-1-17 11:32 PM

沒有發現問題
作者: uhome929    時間: 2008-1-19 12:54 AM

我的有問題,請板大幫我看看!

線上會員那邊都移位了...滑鼠放到會員上面並不會跑出來效果,要往旁邊移一點才會有,可以幫我看看嗎?!
為什麼會這樣!

www.unplays.com
作者: Linux0911    時間: 2008-1-19 01:09 AM

引用:
原帖由 uhome929 於 2008-1-19 12:54 AM 發表
我的有問題,請板大幫我看看!

線上會員那邊都移位了...滑鼠放到會員上面並不會跑出來效果,要往旁邊移一點才會有,可以幫我看看嗎?!
為什麼會這樣!

www.unplays.com ...
原版的本來就是這樣子, 6.0.0 以前的版本是在標題 (名稱或 logo 等含有 alt 或 title 提示的) 上顯示

但是 6.0.0 的版本都是在旁邊的一個小範圍內

並不是這個 javascript 所導致的問題
作者: uhome929    時間: 2008-1-19 02:57 AM

引用:
原帖由 Linux0911 於 2008-1-19 01:09 AM 發表

原版的本來就是這樣子, 6.0.0 以前的版本是在標題 (名稱或 logo 等含有 alt 或 title 提示的) 上顯示

但是 6.0.0 的版本都是在旁邊的一個小範圍內

並不是這個 javascript 所導致的問題 ...
可是板大 我看你的論壇都沒有這方面的問題...這又是為什麼呢? 你做哪方面的修正?
作者: Linux0911    時間: 2008-1-19 08:09 PM     標題: 回覆 9# uhome929 的帖子

要改 discuz.htm

因為我比較習慣這樣的顯示方式, 就做了一番修改~
作者: uhome929    時間: 2008-1-19 09:39 PM     標題: 回覆 10# Linux0911 的帖子

是否能請版大Share一下你的修改方法? 並且告知修改後有缺點和優點?
作者: Linux0911    時間: 2008-1-19 09:52 PM

優點就是比較習慣於以前的版本的顯示方式 (2.5-5.5.0 的顯示都是直接滑鼠指上去顯示)

缺點就是升級的部分就可能每次都要再改, 改法又不同了

看你的想法囉~




歡迎光臨 Linux0911 Forum (http://linux0911.no-ip.info/Discuz/) Powered by Discuz! 6.0.0