网站前端开发之正则表达式几个常用字符的使用
373正则表达式,不管在网站前端开发还是后端开发中都是非常有用的,因为他涉及到字符处理,如替换字符,找到符合条件的进行替换,很多地方不得不用。 作为一个前端开发工程师,熟悉JS正则表达式规则是必修课。正则表达式描述了一种字符串匹配的模式,可以用来检...
查看全文全站搜索
一,前端代码:
<td class=”am-text-middle edit_up” attr_url=”{:U(‘site_order’)}” attr_id=”{$item.category_id}”>
二.通过jq 加载html
$(“.edit_up”).each(function() {
var id = $(this).attr(‘attr_id’);//获取提交的id
var url=$(this).attr(‘attr_url’);//获取提交地址
var html = ‘<a class=”am-btn am-btn-sm am-btn-default am-radius” title=”点击向上移动” onclick=”edit_order(this,\” + id + ‘\’,\” + url + ‘\’)” attr-to=”up”> <span class=”am-icon-arrow-up”></span> </a><a class=”am-btn am-btn-sm am-btn-default am-radius” title=”点击向下移动” onclick=”edit_order(this,\” + id + ‘\’,\” + url + ‘\’)” attr-to=”down”> <span class=”am-icon-arrow-down”></span> </a>’;
$(this).html(html);
});
前端是样式如图(具体样式自定):
三.Jq提交后台并改变列表的顺序
function edit_order(obj, t, id,url) {
var to = $(obj).attr(“attr-to”);//获取是向上还是向下
var url = url + “?&i=” + id +”&to=” + to + “&ajaxedit=1”;//提交地址;
var that=$(obj)
$.ajax({
url: url,
cache: false,
success: function(val) {
val = $.trim(val);
if(val>0){//后台返回值
if (to == ‘down’ && val>0) {
var partentsDiv =that.parents(‘tr’)//获取父级
var next = partentsDiv.next();//获取父级下一个
if(next.html() !== undefined){
next.fadeOut(‘slow’,function(){
$(this).after(partentsDiv);
}).fadeIn()
}else{//
layer.msg(‘到底了’)//已经当前页最后一个,这里如果有分页可以通过刷新页面改变数据
}
}else{
var parentDiv = that.parents(‘tr’);//获取父级
var prev = parentDiv.prev()//获取父级上一个
if(prev.html() !== undefined){
prev.fadeOut(‘slow’,function () {
$(this).before(parentDiv)
}).fadeIn()
}else{
layer.msg(‘到顶了’) //已经当前页第一个,这里如果有分页可以通过刷新页面改变数据
}
}
}else{
if(to == ‘down’){
layer.msg(‘到底了’) //已经是最后一个
}else{
layer.msg(‘到顶了’) //已经是第一个
}
}
}
});
}
点击前:
点击后,改变顺序并且有个淡入淡出的效果
四、后台改变数据的排序号,我的思路是保存的时候将id 保存为排序号,通过对调二个排序号,来改变排序,
后台代码:
public function site_order(){
$id=I(‘i’);
$to=I(‘to’);
$ModelObj = $this->ModelObj;
$old=$ModelObj->field(‘order_id,parent_id’)->where(array(‘category_id’=>$id))->find();
if($to==’down’){
$new=$ModelObj->where(array(‘status’=>1,’parent_id’=>$old[‘parent_id’],’order_id’=>array(‘lt’,$old[‘order_id’])))->order(‘order_id desc’)->find();
}
if($to==’up’){
$new=$ModelObj->field(‘order_id,category_id’)->where(array(‘status’=>1,’parent_id’=>$old[‘parent_id’],’order_id’=>array(‘gt’,$old[‘order_id’])))->order(‘order_id’)->find();
}
if($new){
$ModelObj->where(array(‘category_id’=>$new[‘category_id’]))->setField(‘order_id’,$old[‘order_id’]);
$res=$ModelObj->where(array(‘category_id’=>$id))->setField(‘order_id’,$new[‘order_id’]);
}
$this->ajaxReturn($res);
}
}
查找出当向上或者向下的时候两条数据的排序号对调一下就行
我的排序是从大到小排,
所有向下的时候,找出小于这个排序号数据中最大的那个,
反之找到找出大于这个排序号数据中最小的那个。
正则表达式,不管在网站前端开发还是后端开发中都是非常有用的,因为他涉及到字符处理,如替换字符,找到符合条件的进行替换,很多地方不得不用。 作为一个前端开发工程师,熟悉JS正则表达式规则是必修课。正则表达式描述了一种字符串匹配的模式,可以用来检...
查看全文【编者按】一种声音总是很危险,而艺术设计更应该警惕只有一种声音,网站设计自然属于艺术设计之一。为此,我们开设“艺术设计异论”专题,讨论关于网站设计的不同论点、声音。 在商业世界、互联网世界、文化世界乃至现实世界,一股娱乐化的倾向,正在蔓延。 难道不...
查看全文人们经常把网络时代称为自私和愤世嫉俗的时代。但是,看到网络如何经常被用来打击不公正,激励人们对世界做出积极的改变,你就会恢复对人类精神的信心。无论是对抗世界饥饿,拯救环境,保护动物权利还是帮助残疾人,互联网正在把那些需要帮助的人和那些愿意伸出援手...
查看全文自从Flash因为许多漏洞被谷歌禁用,现在的网站需要播放视频时,一般都是使用 标签, 标签是 HTML 5 的新标签。而且现代浏览器基本上都支持,如:Internet Explorer 9+, Firefox, Opera, Chrome 以及 Safari 支持 标签。 标签有许多属性可以使用,比如:autoplay...
查看全文