上一主题下一主题
«12345»Pages: 1/6     Go
主题 : 完美控制大图片的显示宽度+鼠标滚轮缩放(可选+alt)for5.3、6.0、6.3、6.32、7.0
级别: 三星会员

UID: 307693
精华: 0
发帖: 868
威望: 116 点
金钱: 565 两
贡献值: 0 点
PW积分: 8 点
群组: PW挖坟行动组
在线时间: 1209(时)
注册时间: 2005-06-03
最后登录: 2009-07-05
楼主  发表于: 2008-06-01 14:27

0 完美控制大图片的显示宽度+鼠标滚轮缩放(可选+alt)for5.3、6.0、6.3、6.32、7.0

本人参考以前的方法加以修改

以前同类修改的一个通病,就是不能很好的自动根据用户显示器的分辨率的不同,把图片正好缩小到帖子正文浏览框的宽度。这次本人的修改则完美克服了这个缺点,不管用户显示器的分辨率是800*600、1024*768,1280*1024,1440*900,还是1680*1050,都能自动把大图片正好缩小到帖子浏览框的宽度,最大限度的利用了显示器的显示面积。

1、修改require\下的文件bbscode.php:

具体修改方法非常简单,如下:

修改require\下的文件bbscode.php:

找到代码

复制代码
  1.         $wopen = !$wopen ? "if(this.width>screen.width-461)" : '';
  2.         $code = "<img src=\"$turl\" border=\"0\" onclick=\"$wopen window.open('$url');\" $alt>";



用以下代码替换:

复制代码
  1.         $wopen = !$wopen ? "if(this.width>screen.width*0.78-37)" : '';
  2.         $code = "<img src=\"$turl\" border=\"0\" onclick=\"$wopen window.open('$url');\"onload=\"if(this.width>screen.width*0.78-36)this.width=screen.width*0.78-36;\">";


如果需要滚轮缩放的话,那么应该用下面的代码替换,然后再按第2步的说明改:

复制代码
  1.         $wopen = !$wopen ? "if(this.width>screen.width*0.78-37)" : '';
  2.         $code = "<img src=\"$turl\" border=\"0\" onmousewheel=\"return bbimg(this)\" onclick=\"$wopen window.open('$url');\"onload=\"if(this.width>screen.width*0.78-36)this.width=screen.width*0.78-36;\">";


2、有了上面的修改,一般来说不需要鼠标滚轮缩放图片了,除非少数一些特别长的图片,为了看到全图,有时还需要用鼠标滚轮缩小一下图片。

如果还需要加入图片随鼠标滚轮缩放,请做如下修改:

修改相应风格的header.htm,如果希望每个风格下都有滚轮缩放,那么每个风格的header.htm都需要修改:

查找 <html xmlns="http://www.w3.org/1999/xhtml">

在下面添加:

复制代码
  1. <script>
  2. function bbimg(o)
  3. {
  4. var zoom=parseInt(o.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) o.style.zoom=zoom+'%'; 
  5. return false;
  6. }
  7. </script>


如果用Alt键+鼠标滚轮缩放,则添加下面的代码:

复制代码
  1. <script>
  2. function bbimg(o)
  3. {
  4. if (event.altKey){
  5. var zoom=parseInt(o.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) o.style.zoom=zoom+'%'; 
  6. return false;
  7. }else{
  8.         return true;
  9.     }
  10. }
  11. </script>


如果习惯用Ctrl键+滚轮缩放,就把上面的AltKey改成CtrlKey。

此修改适合宽屏风格,如果是根据分辨率按比列缩小宽度的窄版风格,那么可以修改screen.width*0.78中的0.78到合适的数值,如果是固定宽度的窄版风格,那么到后台设定固定的值就可以了。

这个方法比以前pw论坛上的其它修改方法完美多了,但是还是没有dz对图片显示宽度的控制好,dz的图片显示方式,不管用户显示器的分辨率多大、论坛风格是宽版还是窄版,浏览器的宽度如何,都能够完美的自动缩小图片宽度到帖子浏览框的大小。dz应该是同时考虑了显示器分辨率,浏览器的宽度,论坛风格的宽度,最后得出帖子浏览框的宽度值,然后再把图片宽度缩小到该大小。希望有高手能把dz的图片显示方式仿过来。

再没有更好的对图片显示宽度的控制方法前,建议pw官方在6.3正式版中采用本人目前的修改方式。

演示地址:
pw6.3rc(alt+滚轮缩放):http://www.lshbx.cn/bbs/read.php?tid=4043
pw5.3:http://www.biguan.cn/bbs/read.php?tid=4597
pw6.3:http://www.gxiao.net/read.php?tid=9516



6.3日更新,增加了alt+鼠标滚轮缩放的修改方法。

6.12日更新,增加保留后台对图片宽度的控制,这样就更完美了,几乎可以适用任何风格的论坛了。
[ 此帖被喝哩在2009-01-15 16:19重新编辑 ]
描述:bbscode for 6.32
附件: bbscode.rar (6 K) 下载次数:414
描述:bbscode for 7.0
附件: bbscode.rar (7 K) 下载次数:102
本帖最近评分记录:
  • 威望:+3(@望穿秋水@) 我用觉得很好
  • 威望:+3(5566) 优秀文章
  • 威望:+2(laoli99) 优秀文章-
  • 威望:+3(bao83) 非常谢谢,辛苦了。希望 ..
  • 威望:+1(刘晓东) 优秀文章-欢迎进行技术交 ..
  • 威望:+5(魅惑乐趣) 优秀文章-欢迎进行技术交 ..
  • pw有速度的优势,如果又完善了细节,相信超越dz指日可待!
    http://www.gxiao.net/
    http://www.znqg.com.cn/bbs/
    http://www.biguan.cn/bbs/
    http://www.alqic.com/bbs/upload/
    。。。。。。。。。
    级别: 论坛版主

    UID: 284341
    精华: 0
    发帖: 2942
    威望: 1834 点
    金钱: 1718 两
    贡献值: 871 点
    PW积分: 120 点
    群组: 圈中之圈
    在线时间: 2575(时)
    注册时间: 2005-05-14
    最后登录: 2009-07-04
    沙发  发表于: 2008-06-01 15:10

    先支持下楼主。。谢谢你了。

    以下我的话,不针对楼主!

    有更好的办法,只是没有放出来而已,js这个东西用多了,你以为好么?

    js对浏览器的考验很多。弄不好就是不显示,或者浏览器崩溃【后者情况罕见】

    dz的那个js显示,很烂。
    不知道最后剩下的还是什么?
    级别: 六星会员
    UID: 1216810
    精华: 1
    发帖: 33250
    威望: 546 点
    金钱: 2336 两
    贡献值: 73 点
    PW积分: 25 点
    群组: 天堂
    在线时间: 2803(时)
    注册时间: 2007-05-18
    最后登录: 2009-07-04
    地毯  发表于: 2008-06-01 15:16

    支持啊..
    不知道最后剩下的还是什么?
    级别: 六星会员
    UID: 1216810
    精华: 1
    发帖: 33250
    威望: 546 点
    金钱: 2336 两
    贡献值: 73 点
    PW积分: 25 点
    群组: 天堂
    在线时间: 2803(时)
    注册时间: 2007-05-18
    最后登录: 2009-07-04
    3楼  发表于: 2008-06-01 15:17

    回 1楼(魅惑乐趣) 的帖子

    NB啊..
    呵呵的
    级别: 四星会员
    UID: 779265
    精华: 0
    发帖: 1872
    威望: 181 点
    金钱: 425 两
    贡献值: 0 点
    PW积分: 15 点
    群组: 大火星帝国
    在线时间: 1857(时)
    注册时间: 2006-06-21
    最后登录: 2009-07-04
    4楼  发表于: 2008-06-01 15:28

    1楼更好的分享出来呀
    就此沉沦,好不好?
    级别: 四星会员
    UID: 1503810
    精华: 0
    发帖: 1889
    威望: 14 点
    金钱: 68 两
    贡献值: 2 点
    PW积分: 40 点
    群组: 青楼梦
    在线时间: 72(时)
    注册时间: 2007-12-29
    最后登录: 2008-12-07
    5楼  发表于: 2008-06-01 15:32

    萧萧说说更好点的呀。
    级别: 三星会员

    UID: 307693
    精华: 0
    发帖: 868
    威望: 116 点
    金钱: 565 两
    贡献值: 0 点
    PW积分: 8 点
    群组: PW挖坟行动组
    在线时间: 1209(时)
    注册时间: 2005-06-03
    最后登录: 2009-07-05
    6楼  发表于: 2008-06-01 15:37

    引用
    引用第1楼魅惑乐趣于2008-06-01 15:10发表的  :
    先支持下楼主。。谢谢你了。

    以下我的话,不针对楼主!

    有更好的办法,只是没有放出来而已,js这个东西用多了,你以为好么?
    .......


    你说的js,大概指的是dz的点击图片后可以弹出全屏显示吧

    我说dz好的地方,主要到不是指的这方面,而是指的dz对图片显示宽度的控制,总是恰到好处。给你个演示地址看看:

    http://www.discuz.net/viewthread.php?tid=945889&extra=&page=2

    你即使把浏览器窗口的宽度调小,再刷新一下页面,还是自动缩小到最合适的大小。dz也有一个缺陷,有的窄版风格,图片显示能自适应宽度,但也有的不行,不知是何原因。
    pw有速度的优势,如果又完善了细节,相信超越dz指日可待!
    http://www.gxiao.net/
    http://www.znqg.com.cn/bbs/
    http://www.biguan.cn/bbs/
    http://www.alqic.com/bbs/upload/
    。。。。。。。。。
    级别: 论坛版主

    UID: 284341
    精华: 0
    发帖: 2942
    威望: 1834 点
    金钱: 1718 两
    贡献值: 871 点
    PW积分: 120 点
    群组: 圈中之圈
    在线时间: 2575(时)
    注册时间: 2005-05-14
    最后登录: 2009-07-04
    7楼  发表于: 2008-06-01 15:37

    我的那个代码弄丢了。。。

    non的有演示。。忘记网址了

    好像是nonclub.net
    [ 此贴被魅惑乐趣在2008-06-01 15:43重新编辑 ]
    。。。。。。。。。
    级别: 论坛版主

    UID: 284341
    精华: 0
    发帖: 2942
    威望: 1834 点
    金钱: 1718 两
    贡献值: 871 点
    PW积分: 120 点
    群组: 圈中之圈
    在线时间: 2575(时)
    注册时间: 2005-05-14
    最后登录: 2009-07-04
    8楼  发表于: 2008-06-01 15:39

    引用
    引用第6楼喝哩于2008-06-01 15:37发表的  :


    你说的js,大概指的是dz的点击图片后可以弹出全屏显示吧

    我说dz好的地方,主要到不是指的这方面,而是指的dz对图片显示宽度的控制,总是恰到好处。给你个演示地址看看:
    .......

    哦,你说的这个啊。。那就不知道了。没研究过。。估计是ie自身的属性
    。。。。。。。。。
    级别: 论坛版主

    UID: 284341
    精华: 0
    发帖: 2942
    威望: 1834 点
    金钱: 1718 两
    贡献值: 871 点
    PW积分: 120 点
    群组: 圈中之圈
    在线时间: 2575(时)
    注册时间: 2005-05-14
    最后登录: 2009-07-04
    9楼  发表于: 2008-06-01 15:44

    恩。dz那个估计是div控制的。或者js

    没研究过。pw还真不行
    级别: 新手上路
    UID: 1530949
    精华: 0
    发帖: 87
    威望: 0 点
    金钱: 4 两
    贡献值: 0 点
    PW积分: 15 点
    在线时间: 23(时)
    注册时间: 2008-01-21
    最后登录: 2009-05-08
    10楼  发表于: 2008-06-01 16:50

    顶上啊
    UID:1050147
    级别: 三星会员
    UID: 1050147
    精华: 0
    发帖: 926
    威望: 155 点
    金钱: 50 两
    贡献值: 0 点
    PW积分: 95 点
    群组: 火星帝国②号交流群
    在线时间: 381(时)
    注册时间: 2007-02-02
    最后登录: 2009-02-19
    11楼  发表于: 2008-06-02 16:00

    引用
    引用第1楼魅惑乐趣于2008-06-01 15:10发表的  :
    先支持下楼主。。谢谢你了。

    以下我的话,不针对楼主!

    有更好的办法,只是没有放出来而已,js这个东西用多了,你以为好么?
    .......


    哈哈 老大  我给他个  演示吧  叫他死心

    www.nonclub.net
    想找照片上的人物吗?自己百度一下 Non

    级别: 三星会员

    UID: 307693
    精华: 0
    发帖: 868
    威望: 116 点
    金钱: 565 两
    贡献值: 0 点
    PW积分: 8 点
    群组: PW挖坟行动组
    在线时间: 1209(时)
    注册时间: 2005-06-03
    最后登录: 2009-07-05
    12楼  发表于: 2008-06-03 14:36

    6.3日更新,增加了ctrl+鼠标滚轮缩放的修改方法。
    pw有速度的优势,如果又完善了细节,相信超越dz指日可待!
    http://www.gxiao.net/
    http://www.znqg.com.cn/bbs/
    http://www.biguan.cn/bbs/
    http://www.alqic.com/bbs/upload/
    http://bbs.etale.us
    级别: 二星会员
    UID: 1082498
    精华: 0
    发帖: 377
    威望: 3 点
    金钱: 137 两
    贡献值: 0 点
    PW积分: 1 点
    在线时间: 197(时)
    注册时间: 2007-03-02
    最后登录: 2009-07-04
    13楼  发表于: 2008-06-03 15:59

    很棒的功能~~感谢楼主!!
    不过<html xmlns="http://www.w3.org/1999/xhtml"> 这是什么...
    广告吗...
    ET游戏論壇
    谢谢叶子~~让俺对PHP又有信心了!
    级别: 三星会员

    UID: 307693
    精华: 0
    发帖: 868
    威望: 116 点
    金钱: 565 两
    贡献值: 0 点
    PW积分: 8 点
    群组: PW挖坟行动组
    在线时间: 1209(时)
    注册时间: 2005-06-03
    最后登录: 2009-07-05
    14楼  发表于: 2008-06-12 16:24

    Re:完美控制大图片的显示宽度+鼠标滚轮缩放(可选+ctrl)for5.3、6.0、6.3rc(6.1 ..

    6.12日更新,增加保留后台对图片宽度的控制,这样就更完美了,几乎可以适用任何风格的论坛了。
    pw有速度的优势,如果又完善了细节,相信超越dz指日可待!
    http://www.gxiao.net/
    http://www.znqg.com.cn/bbs/
    http://www.biguan.cn/bbs/
    http://www.alqic.com/bbs/upload/
    上一主题下一主题
    «12345»Pages: 1/6     Go