方法1:

在Mantis的配置文件中,加入此句,将这个值设的很大,就可以直接看到图片

1 $g_preview_attachments_inline_max_size=1000000;

效果如图

这个方法其实不错,但是有个弊端,小尺寸的图片效果不错,但是大尺寸的图片,可能就还是看不起,还是得下载下来看,

如上图的第三张图片

于是继续探究

方法2:

在Mantis的配置文件config_inc.php加

1 $g_form_security_validation = OFF;

然后在core\file_api.php文件中,修改一段内容

1 $t_attachment['download_url'] = "file_download.php?file_id=$t_id&type=bug&show_inline=1";

此方法实现的效果就是,点击图片附件,将不会下载,而是直接在本页面预览大图片,基本已经很方便实用了

方法3:

这个方法我们引入第三方控件,实现更佳酷炫的图片预览效果

1.下载lightbox2 ,地址http://lokeshdhakar.com/projects/lightbox2/

解压js和css两文件夹(其他不用)到mantis根目录下

2.到core\print_api.php下,找到print_bug_attachments_list 方法,在其内部加上

1 echo "<script src=\"js/jquery-1.7.2.min.js\"></script>";
2  
3 echo "<script src=\"js/jquery-ui-1.8.18.custom.min.js\"></script>";
4  
5 echo "<script src=\"js/jquery.smooth-scroll.min.js\"></script>";
6  
7 echo "<script src=\"js/lightbox.js\"></script>";
8  
9 echo "<link rel=\"stylesheet\" href=\"css/lightbox.css\" type=\"text/css\" media=\"screen\" />";

(就是使其倒入刚下载的js与css)

3.继续在到core\print_api.php下,找到if ( $t_attachment['can_download'] ),将第一处的a标签最后,加入rel=”lightbox”或者rel=”lightbox[groupname]“,就是这样

1 $t_href_start '<a href="' . string_attribute( $t_attachment['download_url'] ) . '" rel="lightbox[group]" >';

4.再修改一下if ( !$t_attachment['exists'] ) 中的部分内容就更完美了

比如注释掉echo $t_href_start;

1 //echo $t_href_start;

再将

1 echo $t_href_end ' ' $t_href_start $t_file_display_name $t_href_end$t_href_clicket ' (' $t_filesize ' ' . lang_get( 'bytes' ) . ') ' '<span>' $t_date_added '</span>';

改成

1 echo  $t_file_display_name  $t_href_clicket ' (' $t_filesize ' ' . lang_get( 'bytes' ) . ') ' '<span>' $t_date_added '</span>';

OK,我们一起看一下现在的效果,点击图片

现在就变的很酷炫了哦!还可以直接看下一张图片。赶紧试试吧,

以上3种方法均是独立的,您只要选择一种或二种。推荐1和3配合

转载自Chengaomin's Blog

Mantis的附件图片实现预览/弹出层动画效果预览图片(LightBox2)的完美解决方案[Z]的更多相关文章

  1. UIAlertView弹出视图动画效果

    在App设计中为了加强用户体验,我们会常常加入一些友好的动画效果.比如类似UIAlertView弹出的动画效果,由于系统中并没有直接提供类似的动画API,如果我们想要做出一样的效果,那就得深入的研究一 ...

  2. div弹出层的效果带关闭按钮

    下面我做的这个是个进度条的弹出层 <style type="text/css"> #tuxiang { width: 57px; } /*div弹出框的css*/ .t ...

  3. jq原创弹出层折叠效果

    弹出层效果很多网站上都用到,今天就整理最近项目里用到的一个小效果,点击折叠弹出一个层给用户填写信息.弹出层代码都是jq动态创建,每个人写法都不一样,需求也不一样,所有选择符合自已的即可. html: ...

  4. html+javascript实现可拖动可提交的弹出层对话框效果

    本文为大家介绍下使用html+javascript实现可拖动弹出层.对话框.可提交,具体代码如下,感兴趣的朋友可以参考下,希望对大家有所帮助 <!DOCTYPE HTML PUBLIC &quo ...

  5. 窗体 dialog 弹出时动画效果

    1.先创建 anim中的 xml  动画文件 <?xml version="1.0" encoding="utf-8"? >   <set x ...

  6. jQuery第三课 点击按钮 弹出层div效果

    jQuery 事件方法 事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件. 触发实例: $("button#demo").click() 上面的例子将触发 id= ...

  7. 微信小程序弹出层动画特效

    .rules_modal_cont{ height:800rpx; width:200rpx; -webkit-animation: showZeroAlert .3s; animation: sho ...

  8. Jquery和Javascript 实际项目中写法基础-弹出窗和弹出层 (4)

     一.实际项目中有很多如下界面效果.    二.该效果可以归结为弹出窗或者弹出层来实现的,为什么这么说?看如下代码:      <!DOCTYPE html> <html> & ...

  9. jQuery点击弹出层,弹出模态框,点击模态框消失

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

随机推荐

  1. Makefile中使用$$的使用

      http://blog.csdn.net/darennet/article/details/8185881   Makefile中使用$$的使用     在makefile中,会经常使用shell ...

  2. CheckBoxPreference组件

    CheckBoxPreference 选中为true 取消选中为false 它的值会以boolean的形式储存在SharedPreferences中. <?xml version="1 ...

  3. 具体解释HTML中的window对象和document对象

    Window -- 代表浏览器中一个打开的窗体: 对象属性 window //窗体自身 window.self //引用本窗户window=window.self window.name //为窗体命 ...

  4. JQuery EasyUi 扩展combox验证

    随笔记录一下 1.通过select text的值验证 /** * 扩展combox验证,easyui原始只验证select text的值,不支持value验证() */ (function($){ c ...

  5. C# 5 break continue 球员成绩 彩票 选班长

        二.新课: 1.break与continue. 这两个关键字一般放在循环的花括号里面使用. break--结束整个循环. continue--结束本次循环,进入下次循环. break的案例: ...

  6. HTML4如何让一个DIV居中对齐?float输入日志标题

    float:left,right clear:both 如何让一个DIV居中对齐? 第一步:设置外层的DIV的text-align:center; 第二步:设置里层的DIV的margin:auto 以 ...

  7. ZOJ 1530 - Find The Multiple

    Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal repr ...

  8. Char型和string型字符串比较整理

    1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout ...

  9. BaseAdapter导致notifyDataSetChanged()无效的三个原因及处理方法

    原文  http://blog.csdn.net/dawanganban/article/details/21376979 前一段时间在做一个项目的时候遇到了一个关于BaseAdapter的notif ...

  10. tornado 使用过程中提示‘no module name ioloop’

    千万不要将程序文件命名为tornado.py 不然永远不会运行,因为运行后会在tornado.py里查找ioloop信息,永远找不到...