以wordpress 3.0.2为例,打开
wp-includes/js/thickbox/thickbox.js,找到以下代码行:

外面只需要一行代码就可以点击查看大图,再次点击缩放放回原图。

php 点击图片修改数据同时修改显示的图片 要求异步处理怎么实现?
金沙国际官网 ,PHP查表然后分页显示
数据库里 user_data表里有一个bat字段 值为1或者2
当值为1时显示图片1 当值为2时显示图片2
问:点击图片修改数据库里的bat 值 原来是1的改为2,原来是2的改为1
要求异步处理 不刷新页面 怎么实现
金沙国际官网 1
现在已有代码

第一次点击时,显示的结果是:点击后2,修改后3,执行后3
list.php文件

复制代码 代码如下:

先定义一个显示图片的ShowHelper类—本来想用struct的,但是貌似不支持添加手势,只有放弃了。。。。。我现在是能用struct就用struct,很少用class了,来看一下struct的优点—swift.gg上面的

<!--从数据库获取数据然后显示在表格上-----------------------------------------------> <?php $ID = 1; $batyes = '../image/1.png' ; $batno = '../image/2.png' ; ?> <?php //循环显示当前页面的记录 header( "content-type:text/html;charset=utf-8"); $sql=*$pagesize; $result=mysqli_query($GLOBALS[ 'con'], "select * from user_data limit {$sql},{$pagesize}"); while($row=mysqli_fetch_array{ $tab = $row['tab']; echo( " <tr> <td>" . $ID ++ . "</td> <td>" . "<div><a><img width='60px' height='60px' style='border-radius:30px' src='{$row['头像']}'></a></div>" . "</td> <td>" . '&nbsp' .$row[ '订阅标识'] . "</td> <td>" . $row[ '微信昵称'] . "</td> <td>" . $row[ '性别'] . "</td> <td>" . $row[ '所在国家'] . "-". $row[ '所在省份'] . "-". $row[ '所在城市'] . "</td> <td>" . $row[ '订阅时间'] . "</td> <td>" . $row[ '语言'] . "</td> <td>" . $row[ '来源'] . "</td> " ) ; ?> <td> <?php " . " ?> <?php if { echo ( " <div> <a type=\"button\" class=\"butn\" > <img style=\"width:20px\" src=$batyes alt=\"已标记\" /> </a> </div>" ); } else { echo ( " <div> <a type=\"button\" class=\"butn\" > <img style=\"width:20px\" src=$batno alt=\"未标记\" /> </a> </div> " ); } ?> <?php " . " ?> </td></tr> <?php } mysqli_close; ?> </tr> </tbody>
 <td>&nbsp; <a href="show.php?vid=<?php%20echo%20$posts['id'];?>"> <?php echo $posts['post_title'] ?> </a> </td>

jQuery(“#TB_window”).append(“<a href=” id=’TB_ImageOff’
title='”+thickboxL10n.close+”‘><img id=’TB_Image’ src='”+url+”‘
width='”+imageWidth+”‘ height='”+imageHeight+”‘
alt='”+caption+”‘/></a>” +

金沙国际官网 2struct优点.png

show.php文件

大概在135行,// End Resizing 下面,修改其中的 id=’TB_ImageOff’ 为
id=’TB_nextImage’,
然后在该行下面不远处的if (!(TB_NextHTML === “”)){}中添加:

//放大图片的时间private let showBigDuration = 0.6//缩放图片的时间private let showOriginalDuration = 0.6class ShowHelper: NSObject { /// 图片imageView的原始frame private static var originalFrame = CGRect() private override init() { super.init() }}
 //获取传过来文章ID $id=$_GET['vid']; //根据文章ID来得到文章对象 $sqlStr_post="select * from dt_posts where 点击后:".$view['view_count']; $num=$view['view_count']+1; //没当用户一点击,就会修改查看次数 $sql_up="update dt_posts set view_count=".$num." where 修改后:".$num; $result_up=mysql_query; echo "执行后".$num;

复制代码 代码如下:

然后写一个extension—-(为了干净整洁,我定义类/结构体的时候,只写属性),其它方法,我全部放在extension里面—只给外面提供一个show(imageView:
UIImageView)方法,其它全部是private私有方法

jQuery(“#TB_nextImage”).click(goNext);

extension ShowHelper {//类方法 class func show(imageView: UIImageView) { imageView.userInteractionEnabled = true let tap = UITapGestureRecognizer(target: self, action: #selector(showBigImage imageView.addGestureRecognizer } //private私有方法。。。 @objc private class func showBigImage(sender: UITapGestureRecognizer) {//swift里面我不喜欢用强制解析----套用一句话----你每用一个!,就会杀死一只猫//同时也为了去掉金字塔类型的判断。。。我用guard / guard let来代替if/ if let guard let imageV = sender.view as? UIImageView else { fatalError("it is not UIImageView") } guard let image = imageV.image else { return } guard let window = UIApplication.sharedApplication().delegate?.window else { return }//originalFrame重新归零 originalFrame = CGRect() let oldFrame = imageV.convertRect(imageV.bounds, toView: window) let backgroundView = UIView(frame: UIScreen.mainScreen backgroundView.backgroundColor = UIColor.blackColor() backgroundView.alpha = 0.0//赋值originalFrame originalFrame = oldFrame let newImageV = UIImageView(frame: oldFrame) newImageV.contentMode = .ScaleAspectFit newImageV.image = image backgroundView.addSubview(newImageV) window?.addSubview(backgroundView) UIView.animateWithDuration(showBigDuration) { let width = UIScreen.mainScreen().bounds.size.width let height = image.size.height * width / image.size.width let y = (UIScreen.mainScreen().bounds.size.height - image.size.height * width / image.size.width) * 0.5 newImageV.frame = CGRectMake(0, y, width, height) backgroundView.alpha = 1 } let tap2 = UITapGestureRecognizer(target: self, action: #selector(ShowHelper.showOriginal backgroundView.addGestureRecognizer } //private私有方法。。。 @objc private class func showOriginal(sender: UITapGestureRecognizer) { guard let backgroundView = sender.view else { return } guard let imageV = backgroundView.subviews.first else { return }//大图的frame变为原来的frame,backgroundView的透明度为0,同时backgroundView从父视图移除 UIView.animateWithDuration(showOriginalDuration, animations: { imageV.frame = originalFrame backgroundView.alpha = 0.0 }) { finished in backgroundView.removeFromSuperview() } }}

放在 jQuery(“#TB_next”).click(goNext); 下一行即可。
更新:

突然发现忘改链接的title了,上面的代码实现了点击图片直接查看下一张图,但是图片链接的title(鼠标放上去那个黄块)还没有变,这个很简单,将

title='”+thickboxL10n.close+”‘ 改为 title='”+thickboxL10n.next+”‘
即可,这样会读取语言包来显示提示,或者你直接写成字符串也行。效果如下:

金沙国际官网 3

3.0.2为例,打开
wp-includes/js/thickbox/thickbox.js,找到以下代码行: 复制代码 代码如下:
jQuery(“#TB_window”).append(“a href=” id=’TB_ImageOff’ t…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图