分类目录归档:DIV+CSS

层叠样式表布局

baidu map 引用地图模块html

BAIDU MAP 引用地图模块HTML

1–body部分插入

<div class=”lh-map” id=”baiduMap”></div>

2–以下是样式+接口文件

<style>#baiduMap img{width:auto !important; min-width:100% !important;}</style><script>window._bd_share_config={“common”:{“bdSnsKey”:{},”bdText”:””,”bdMini”:”1″,”bdMiniList”:false,”bdPic”:””,”bdStyle”:”0″,”bdSize”:”10″},”share”:{}};with(document)0[(getElementsByTagName(‘head’)[0]||body).appendChild(createElement(‘script’)).src=’http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=’+~(-new Date()/36e5)];</script><script type=”text/javascript” src=”/static/js/api-2.0_ny22a16GzbMDs1xHsTvjlqtZ.js”></script><script type=”text/javascript”>//创建地图var myMap=new BMap.Map(‘baiduMap’);var point=new BMap.Point(118.791304,32.032297);myMap.centerAndZoom(point,18);

//添加覆盖物var marker = new BMap.Marker(point);  // 创建标注 myMap.addOverlay(marker);   // 将标注添加到地图中

//添加控件myMap.addControl(new BMap.NavigationControl()); // 平移缩放myMap.addControl(new BMap.OverviewMapControl()); //缩略地图//myMap.enableScrollWheelZoom(); //滚轮缩放
</script>

XPATH div选定指定位置便于采集

xpath如何取包含多个class属性

//div[@class=”team-about font14″] ##### 唯一匹配 #####

//div[contains(@class,”team-about”)] ##### 包含匹配 #####

如果HTML结构是这样

        <div class=”demo”></div>

那么我知道可以写xpath //div[@class=”demo”],但是如果我的html是

        <div class=”test demo”></div>
<div class=”demo test”></div>
<div class=”test demo2″></div>

我只想选出有demo这个class的对象,那应该怎么弄


要取多个class属性值的元素,应该如何办呢;

如:

        <div class=’a b’>test</div>


如果是用xpath(‘//div[@class=”a”]’) 会取不到这里面的值;


可以用如下的表达式:

        xpath(‘//div[contains(@class,”a”)]’)   #它会取得所有class为a的元素


或者

        xpath(‘//div[contains(@class,”a”) and contains(@class,”b”)]’) #它会取class同时有a和b的元素



如果没记错的话可以这么来:

        //div[contains(@class, ‘demo’)]

如果是多个则可以:

        //div[contains(@class, ‘demo’) and contains(@class, ‘other’)]

如果目标 class 不一定是第一个,那么:

        //div[contains(concat(‘ ‘, @class, ‘ ‘), ‘demo’)]

顺便一提,用 Jetbrains 家的 IDE,里面有内置的 xpath 规则生成器。

一、选取节点
常用的路劲表达式:

表达式描述实例
nodename选取nodename节点的所有子节点xpath(‘//div’)选取了div节点的所有子节点
/从根节点选取xpath(‘/div’)从根节点上选取div节点
//选取所有的当前节点,不考虑他们的位置xpath(‘//div’)选取所有的div节点
.选取当前节点xpath(‘./div’)选取当前节点下的div节点
..选取当前节点的父节点xpath(‘..’)回到上一个节点
@选取属性xpath(’//@calss’)选取所有的class属性

二、谓语

谓语被嵌在方括号内,用来查找某个特定的节点或包含某个制定的值的节点

实例:

表达式结果
xpath(‘/body/div[1]’)选取body下的第一个div节点
xpath(‘/body/div[last()]’)选取body下最后一个div节点
xpath(‘/body/div[last()-1]’)选取body下倒数第二个div节点
xpath(‘/body/div[positon()<3]’)选取body下前两个div节点
xpath(‘/body/div[@class]’)选取body下带有class属性的div节点
xpath(‘/body/div[@class=”main”]’)选取body下class属性为main的div节点
xpath(‘/body/div[price>35.00]’)选取body下price元素值大于35的div节点

 三、通配符

Xpath通过通配符来选取未知的XML元素

表达式结果
xpath(’/div/*’)选取div下的所有子节点
xpath(‘/div[@*]’)选取所有带属性的div节点

 四、取多个路径

使用”|”运算符可以选取多个路径

>

表达式结果
xpath(‘//div|//table’)选取所有的div和table节点

五、Xpath轴

轴可以定义相对于当前节点的节点集

轴名称表达式描述
ancestorxpath(‘./ancestor::*’)选取当前节点的所有先辈节点(父、祖父)
ancestor-or-selfxpath(‘./ancestor-or-self::*’)选取当前节点的所有先辈节点以及节点本身
attributexpath(‘./attribute::*’)选取当前节点的所有属性
childxpath(‘./child::*’)返回当前节点的所有子节点
descendantxpath(‘./descendant::*’)返回当前节点的所有后代节点(子节点、孙节点)
followingxpath(‘./following::*’)选取文档中当前节点结束标签后的所有节点
following-sibingxpath(‘./following-sibing::*’)选取当前节点之后的兄弟节点
parentxpath(‘./parent::*’)选取当前节点的父节点
precedingxpath(‘./preceding::*’)选取文档中当前节点开始标签前的所有节点
preceding-siblingxpath(‘./preceding-sibling::*’)选取当前节点之前的兄弟节点
selfxpath(‘./self::*’)选取当前节点

六、功能函数   

使用功能函数能够更好的进行模糊搜索

函数用法解释
starts-withxpath(‘//div[starts-with(@id,”ma”)]’)选取id值以ma开头的div节点
containsxpath(‘//div[contains(@id,”ma”)]’)选取id值包含ma的div节点
andxpath(‘//div[contains(@id,”ma”) and contains(@id,”in”)]’)选取id值包含ma和in的div节点
text()xpath(‘//div[contains(text(),”ma”)]’)选取节点文本包含ma的div节点

2020年小米電視&小米盒子通用去廣告教程

簡單1.2.3步 本教程小米電視任意刪除文件,不用root,不怕黑屏,變磚。保留小米電視切換信號源,投屏等功能。 附帶黑屏、變磚恢復方法,操作簡單。妳還在等什麽?

1.需要準備U盤壹個,安裝任意壹款妳喜歡的電視桌面軟件 這裏我安裝的是當貝桌面。 進入開發者模式,打開ADB調試(電視操作部分請參見錄像)

2.ADB官方下載地址 https://developer.android.com/studio/… 解壓縮到C盤或者D盤根目錄取壹個簡單的名字 例如本例解壓縮到D盤,該文件夾名稱為123。

3.保持電腦與小米電視在同壹路由器下查看小米電視的IP地址 Win鍵+R打開運行輸入CMD回車,輸入命令進行操作。(以下不需要輸入復制粘貼即可) adb connect 192.168.3.8:5555(妳電視的IP地址加:5555) 此時屏幕上會彈出壹個提示框“允許USB調試嗎?”,選擇“確定”。

刪除小米桌面 adb shell pm uninstall –user 0 com.mitv.tvhome

刪除系統更新,如要更新請恢復出廠設置。系統更新以後廣告會隨之而來。

adb shell pm uninstall –user 0 com.xiaomi.mitv.upgrade

應用商店 adb shell pm uninstall –user 0 com.xiaomi.mitv.appstore

米家 adb shell pm uninstall –user 0 com.xiaomi.smarthome.tv

小米商城 adb shell pm uninstall –user 0 com.xiaomi.mitv.shop

小米支付 adb shell pm uninstall –user 0 com.xiaomi.mitv.payment

小米錢包 adb shell pm uninstall –user 0 com.mipay.wallet.tv

遊戲中心 adb shell pm uninstall –user 0 com.xiaomi.mibox.gamecenter

让html页面愉快跳动起来-maxwo浅前端202005

几行代码让您的HTML页面效果更佳炫酷,愉快地动起来!!

<!– Wow –>

<link rel=”stylesheet” href=”/style/animate.css”><script src=”/style/wow.min.js”></script><script>    if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))) {        new WOW().init();    };</script>

<!– Wow //—->

有时候项目需要一些高大上的动画来提升用户体验,吸引用户注意力的同时提高项目的档次。这时wow是个不错的选择

wow.js依赖animate.css,

不需要jquery

animate.css是纯css动画

让HTML页面愉快跳动起来-MAXWO浅前端202005

核心文件附件下载!!! 点此下载!!!!!

修改 帝国CMS 后台的用户名和密码 注意salt1和salt2的值需要修改

帝国CMS 修改密码 

1:进入phpmyadmin 

2:找到 phome_enewsuser 数据表phome为数据库表前缀

3:修改 phome_enewsuser 表中的如下四个字段的值 username:adminpassword:28faed7bf0c97624ad3b8737b6947e41

salt1:fy1rWNIJ

salt2:pzNVrEdbkRJ2W6bvxpVo  

修改完后,

后台的账号为:admin 密码:admin888

WOW.js – 让前端页面活灵活现更有趣-动起来

简介

有的页面在向下滚动的时候,有些元素会产生细小的动画效果。虽然动画比较小,但却能吸引你的注意。比如刚刚发布的 iPhone 6 的页面(查看)。如果你希望你的页面也更加有趣,那么你可以试试 WOW.js。

WOW.js 依赖 animate.css,所以它支持 animate.css 多达 60 多种的动画效果,能满足您的各种需求。

浏览器兼容

IEChromeFirefoxOperaSafari
IE10+ ✔Chrome ✔Firefox ✔Opera ✔Safari ✔

IE6、IE7 等老旧浏览器不支持 CSS3 动画,所以没有效果;而 wow.js 也使用了 querySelectorAll 方法,IE 低版本会报错。为了达到更好的兼容,最好加一个浏览器及版本判断。

使用方法

1、引入文件

<link rel="stylesheet" href="css/animate.min.css">

2、HTML

<div class="wow slideInLeft"></div>
<div class="wow slideInRight"></div>

可以加入 data-wow-duration(动画持续时间)和 data-wow-delay(动画延迟时间)属性,如:

<div class="wow slideInLeft" data-wow-duration="2s" data-wow-delay="5s"></div>
<div class="wow slideInRight" data-wow-offset="10"  data-wow-iteration="10"></div>

3、JavaScript

new WOW().init();

如果需要自定义配置,可如下使用:

var wow = new WOW({
    boxClass: 'wow',
    animateClass: 'animated',
    offset: 0,
    mobile: true,
    live: true
});
wow.init();

配置

属性/方法类型默认值说明
boxClass字符串‘wow’需要执行动画的元素的 class
animateClass字符串‘animated’animation.css 动画的 class
offset整数0距离可视区域多少开始执行动画
mobile布尔值true是否在移动设备上执行动画
live布尔值true异步加载的内容是否有效

VSCode查找和替换正则表达式转义字符整理

使用VSCode进行查找、替换时,经常需要用到正则表达式,一段时间不用就忘了,每次要用的时候都要耽误很多时间去查找,所以整理了一份很全的放在这里。这个其实是.NET使用的正则表达式,VSCode也是一样的,微软系的产品(比如Visual Studio等)应该都是使用这个标准的。

本文只列举和翻译了常用的一些,完整内容请参照微软官方文档

注意事项:在VSCode中使用时,要先把通配符开关打开(开关是查找输入框右边的”.*”符号)

转义字符 匹配内容
\t tab
\r 回车符号\r
\n 换行符号\n
\uxxxx 匹配Unicode编码为xxx的字符,如\u0020匹配空格,这个符号可以用来帮助匹配中文,后面说
\ 特殊符号转义,如”\*” ,转义后匹配的是字符”*”, “\(” 匹配的是括号”(”
[字符序列] 匹配[ ]中的任意字符,如[ae],字符a和字符e均匹配
[^字符序列] 匹配不在[ ]中的任意字符,如[^ae]除了a和e,其他字符都匹配
[字符1-字符2] 匹配在[ ]之间的任意字符,如[a-x],就是匹配a和x之间的所有字符(包括a和x)
. 匹配任意单个字符(除了\n)
\w 匹配所有单词字符(如”a”,“3”,“E”,但不匹配”?”,”.”等)
\W 和\w相反,匹配所有非单词字符
[\u4e00-\u9fa5] 利用区间和\u转义符号,匹配中文(该区间包含2万个汉字),可以当做中文版的\w使用
\s 匹配空格
\S 和\s相反,匹配非空格
\d 匹配数字字符,如”1″,“4”,”9″等
\D 和\d相反,匹配除了数字字符外的其他字符
* 将前面的元素匹配0到多次,如”\d*.\d”,可以匹配”19.9″,”.0″,“129.9”
+ 将前面的元素匹配1到多次,如”be+”,可以匹配”be”, “beeeeee”
? 将前面的元素匹配0次或者一次,如”rai?n” 可以且只可以匹配 “ran” 或者 “rain”
{n} n是个数字,将前面的元素匹配n次,如”be{3}“可以且只可以匹配 ”beee”
{n, m} 将前面的元素匹配至少n次,最多m次,如”be{1,3}” 可以且只可以匹配”be”,“bee”, “beee”
| 相当于”或”,表示匹配由|分割的任意一个元素,如the(e| is | at),可以匹配”the”, “this”, “that”
$n n是个数字,这个是替换时使用括号( )将匹配的patter分割成了几个元素,然后在替换的patter里面使用,类似于变量。
如果查找patter是”(\w+)(\s)(\w+)”,那么$1就是(\w+),$2是(\s),$3是(\w+),替换patter是$3$2$1,那么替换结果就是(\w+)(\s)(\w+)。
假设匹配到的是”one two”,那么$1,$2,$3分别为”one”, ” “, “two”,替换后的结果为”two one”.
________________
正则表达式除了匹配字符外,还可以对匹配的上下文做要求,比如要求匹配必须从一行的开头开始,感觉用的不是特别多,需要的请参照本文开头给出的链接。

织梦dedecms自定义表单通过ajax提交

分享下 通过 自定义表单通过ajax判断,提交不用跳转页面,提高用户体验。具体方法如下:
html表单代码部分,就提交按钮改成botton,,添加onclick事件

 

前端表单代码
<form action=”javascript:;” enctype=”multipart/form-data” method=”post”>
<input type=”hidden” name=”action” value=”post” />
<input type=”hidden” name=”diyid” value=”1″ />
<input type=”hidden” name=”do” value=”2″ />

<label>姓名:<input type=”text” id=”name” name=”name” value=”” /></label>
<label>电话:<input type=”text” id=”tel” name=”tel” value=”” /></label>
<label>手机:<input type=”text” id=”iphone” name=”iphone” value=”” /></label>
<label>邮箱:<input type=”text” id=”email” name=”email” value=”” /></label>
<table>
<tr>
<td valign=”top”>留言:</td>
<td><textarea id=”liuyan” name=”liuyan”></textarea></td>
</tr>
</table>
<input type=”hidden” name=”dede_fields” value=”name,textchar;tel,textchar;iphone,textchar;email,textchar;liuyan,multitext” />
<input type=”button” class=”submit fr” value=”提 交” onclick=”add_ajaxmessage()”/>
</form>

 

js代码(这个代码之前一定要引入jQuery库):

<script id=”jquery_183″ type=”text/javascript” class=”library” src=”http://code.jquery.com/jquery-1.8.3.min.js”></script>

<script>
function add_ajaxmessage(){

var name=document.getElementById(“name”);
var tel =document.getElementById(“tel”);
var iphone=document.getElementById(“iphone”);
var email=document.getElementById(“email”);
var liuyan=document.getElementById(“liuyan”);

//定义变量接收上面表单每项的值和几个dede隐藏的input的值
var dataString = ‘name=’+ name.value + ‘&tel=’ + tel.value + ‘&iphone=’ + iphone.value + ‘&email=’ + email.value + ‘&liuyan=’+ liuyan.value +’&action=post’+ ‘&diyid=1&do=2&dede_fields=name,textchar;tel,textchar;iphone,textchar;email,textchar;liuyan,multitext’;
$.ajax({
type: “POST”,
url: “/plus/diy.php”, //提交到后台文件
data: dataString, //传值
success: function(data) {

alert(data);//成功打印PHP返回的值

}
});
return false;

}

</script>

 

 

 

修改diy.php文件

找到:if(!empty($dede_fields))
{
//在里面加入判断语句,不判断也可以

if($name==””){
echo “请填写您的姓名!”;//注意:输出用echo输出,不要用showMsg();
exit();
}
}

找到:$goto = !empty($cfg_cmspath) ? $cfg_cmspath : ‘/’;
$bkmsg = ‘发布成功,请等待管理员处理…’;
这两句,改成:echo “提交成功!”;

删掉下面这一句:showmsg($bkmsg, $goto);

使用phpexcel导出到xls文件的时候出现乱码解决

<?php
include ‘global.php’;
$ids = $_GET[‘ids’];

$sql = “select * from crm_cost_end where id in ( {$ids} )”;
$result = $db->findAll($sql);
//echo $result[1][‘sn’];

//创建一个excel对象
$objPHPExcel = new PHPExcel();
// Set properties

$objPHPExcel->getProperties()->setCreator(“ctos”)
->setLastModifiedBy(“ctos”)
->setTitle(“Office 2007 XLSX Test Document”)
->setSubject(“Office 2007 XLSX Test Document”)
->setDescription(“Test document for Office 2007 XLSX, generated using PHP classes.”)
->setKeywords(“office 2007 openxml php”)
->setCategory(“Test result file”);

//set width
$objPHPExcel->getActiveSheet()->getColumnDimension(‘A’)->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘B’)->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘C’)->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘D’)->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘E’)->setWidth(50);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘F’)->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘G’)->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘H’)->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘I’)->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘J’)->setWidth(30); 继续阅读