标签 开发经验 下的文章

使用javascript实现的无缝滚动(跑马灯),小编在这里简单描述一下:内容一直滚动,鼠标经过的时候滚动就会暂停。
效果示例图:

1.png

实现代码如下:

<!DOCTYPE html>
<html lang="en">
 <head> 
  <meta charset="UTF-8" /> 
  <title>无缝滚动</title> 
  <style>
    img{
      width: 100px;
      height: 50px;
    }
    #demo{
      overflow: hidden; 
      width: 735px; 
      height: 165px
    }
    table{

    }
  </style>
 </head> 
 <body> 
  <div id="demo" class="hdo gd_img"> 
   <table cellpadding="0" align="left" border="0" cellspace="0"> 
    <tbody> 
     <tr> 
      <td id="demo1" valign="top"> 
       <table cellspacing="0" cellpadding="4" width="2150" border="0" id="tupian"> 
        <tbody> 
         <tr> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/1.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/2.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/3.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/4.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/1.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/2.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/3.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/4.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/1.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/2.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/3.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/4.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/1.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/2.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/3.jpg" /><br />小宁博客</a></td> 
          <td align="middle"><a class="a1" href="http://www.sunxiaoning.com"><img src="img/4.jpg" /><br />小宁博客</a></td> 
         </tr>
        </tbody>
       </table></td> 
      <td id="demo2" valign="top"></td>
     </tr>
    </tbody>
   </table>
  </div> 
  <script>
      var speed1=25//速度数值越大速度越慢
      document.getElementById("demo2").innerHTML=document.getElementById("demo1").innerHTML
      function Marquee1(){
          if(document.getElementById("demo2").offsetWidth-document.getElementById("demo").scrollLeft<=0)
            document.getElementById("demo").scrollLeft-=document.getElementById("demo1").offsetWidth
          else{
            document.getElementById("demo").scrollLeft++
             }
          }
          var MyMar1=setInterval(Marquee1,speed1)
          document.getElementById("demo").onmouseover=function () {clearInterval(MyMar1)}
          document.getElementById("demo").onmouseout=function () {MyMar1=setInterval(Marquee1,speed1)}
  </script>  
 </body>
</html>

JavaScript实现动态时钟以及分时问候

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript实现动态时钟以及分时问候</title>
</head>
<body>
    <div id="time">
        </div><div id="timeShow"></div>
</body>
</html>
<script language="javascript">
     var t = null;
    t = setTimeout(time,1000);//开始执行
    function time()
    {
       clearTimeout(t);//清除定时器
       dt = new Date();
        h=dt.getHours();
        m=dt.getMinutes();
        s=dt.getSeconds();
       if(h < 6){document.getElementById("time").innerHTML =  "凌晨好";}
            else if (h < 9){document.getElementById("time").innerHTML =  "早上好";}
            else if (h < 12){document.getElementById("time").innerHTML =  "上午好";}
            else if (h < 14){document.getElementById("time").innerHTML =  "中午好";}
            else if (h < 17){document.getElementById("time").innerHTML =  "下午好";}
            else if (h < 19){document.getElementById("time").innerHTML =  "傍晚好";}
            else if (h < 22){document.getElementById("time").innerHTML =  "晚上好";}
            else {document.getElementById("time").innerHTML =  "夜里好";}
       document.getElementById("timeShow").innerHTML = "当前时间:"+h+"时"+m+"分"+s+"秒";
       t = setTimeout(time,1000); //
    }

  </script>

首先导入ValidateCode.jar包
jar包的下载可以关注小宁博客公众号

实现类

public class ServletDemo4 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //告诉客户端不使用缓存
        response.setHeader("pragma", "no-cache");
        response.setHeader("cache-control", "no-cache");
        response.setIntHeader("expires", 0);
        
        
        ValidateCode vc = new ValidateCode(110, 25, 4, 9);
        String code = vc.getCode();//得到生成的字符
        vc.write(response.getOutputStream());
        
    }
}

网页代码

网页代码

<script type="text/javascript">
    function changeCode(){
        //得到图片元素
        var img = document.getElementsByTagName("img")[0];
        //img.setAttribute("src","/day09_00_HttpServletResponse/servlet/demo");//XML Dom 语法
        img.src = "/day09_00_HttpServletResponse/servlet/demo?time="+new Date().getTime();
    }
</script>
<img src="/day09_00_HttpServletResponse/servlet/demo4" onclick="changeCode()"/>
<a href="javascript:changeCode()" >看不清换一张</a>

通过servlet实现文件的下载,实例代码为下载一张jpg的图片

public class Demo extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //通过路径得到一个输入流
        String path = this.getServletContext().getRealPath("/WEB-INF/classes/img.jpg");
        FileInputStream fis = new FileInputStream(path);
        //创建字节输出流
        ServletOutputStream sos = response.getOutputStream();
        
        //得到要下载的文件名
        String filename = path.substring(path.lastIndexOf("\\")+1);
        
        //设置文件名的编码
        filename = URLEncoder.encode(filename, "UTF-8");//将不安全的文件名改为UTF-8格式
        
        //告知客户端要下载文件
        response.setHeader("content-disposition", "attachment;filename="+filename);
        response.setHeader("content-type", "image/jpeg");
        
        //执行输出操作
        int len = 1;
        byte[] b = new byte[1024];
        while((len=fis.read(b))!=-1){
            sos.write(b,0,len);
        }

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}

为了提高网页的整体效果,在网页中往往需要,通过JavaScript引入百度地图,小编在这里整理了一下,希望可以帮到大家。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>引入百度地图</title>
    <!-- 引入百度地图 -->
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
</head>
<body>
      <div id="contactinformation">
   <!--地图-->
            <div id="mapCanvas" class="map-canvas no-margin" style="height: 450px; width: 450px">
            <script type="text/javascript">
                var map = new BMap.Map("mapCanvas"); // 创建Map实例
                var point = new BMap.Point("116.3119450000", "39.9891970000"); // 创建点坐标
                map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别。
                map.enableScrollWheelZoom(); //启用滚轮放大缩小
                //添加缩放控件
                map.addControl(new BMap.NavigationControl());
                map.addControl(new BMap.ScaleControl());
                map.addControl(new BMap.OverviewMapControl());

                var marker = new BMap.Marker(point); // 创建标注
                map.addOverlay(marker); // 将标注添加到地图中
                var infoWindow = new BMap.InfoWindow("小宁博客<br/><span class=''>小宁博客</span>"); // 创建信息窗口对象
                marker.openInfoWindow(infoWindow);
            </script>
        </div>
        <!--地图-->

        </div>
</body>
</html>

第一步:下载Ueditor1.4.3

下载之后重命名为ueditor ,并放到项目的public目录下

第二步:引入

在视图文件里引入一下js文件

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>//也可以引用本地的
<js file="__ROOT__/Public/Ueditor/ueditor.config.js"/>  
<js file="__ROOT__/Public/Ueditor/ueditor.all.min.js"/>  
<js file="__ROOT__/Public/Ueditor/lang/zh-cn/zh-cn.js"/>  
<script type="text/javascript" charset="utf-8">  
   window.UEDITOR_HOME_URL = "__PUBLIC__/Ueditor/";  
    $(document).ready(function () {  
      UE.getEditor('info', {  
      initialFrameHeight: 500,  
      initialFrameWidth: 1100,  
      serverUrl: "{:U(MODULE_NAME.'/Index/save_info')}"  
    });  
  });    
</script>

在需要编辑器的地方写入以下代码

<textarea name="info" id="info" style="width:1024px;height:500px;"></textarea>  

第三步:控制器

在控制器中放入以下代码

public function save_info(){  
   $ueditor_config = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "",     file_get_contents("./Public/Ueditor/php/config.json")), true);  
        $action = $_GET['action'];  
        switch ($action) {  
            case 'config':  
                $result = json_encode($ueditor_config);  
                break;  
                /* 上传图片 */  
            case 'uploadimage':  
                /* 上传涂鸦 */  
            case 'uploadscrawl':  
                /* 上传视频 */  
            case 'uploadvideo':  
                /* 上传文件 */  
            case 'uploadfile':  
                $upload = new \Think\Upload();  
                $upload->maxSize = 3145728;  
                $upload->rootPath = './Public/Uploads/';  
                $upload->exts = array('jpg', 'gif', 'png', 'jpeg');  
                $info = $upload->upload();  
                if (!$info) {  
                    $result = json_encode(array(  
                            'state' => $upload->getError(),  
                    ));  
                } else {  
                    $url = __ROOT__ . "/Public/Uploads/" . $info["upfile"]["savepath"] . $info["upfile"]['savename'];  
                    $result = json_encode(array(  
                            'url' => $url,  
                            'title' => htmlspecialchars($_POST['pictitle'], ENT_QUOTES),  
                            'original' => $info["upfile"]['name'],  
                            'state' => 'SUCCESS'  
                    ));  
                }  
                break;  
            default:  
                $result = json_encode(array(  
                'state' => '请求地址出错'  
                        ));  
                        break;  
        }  
        /* 输出结果 */  
        if (isset($_GET["callback"])) {  
            if (preg_match("/^[\w_]+$/", $_GET["callback"])) {  
                echo htmlspecialchars($_GET["callback"]) . '(' . $result . ')';  
            } else {  
                echo json_encode(array(  
                        'state' => 'callback参数不合法'  
                ));  
            }  
        } else {  
            echo $result;  
        }  
    }  

注意:文件默认目录为"Public/Uploads",如果没有就自己创建,也可以自己修改。

第一步:下载Page.class.php

把下载后的Page.class.php放入ThinkPHP/Extend/Library/ORG/Util/(如果该目录不存在就手动去创建)。

第二步:控制器

 

  $User = M('Goods');//实例化Goods数据对象  Goods是你的表名
  //p是前台传值过来的参数,也就是页码
    if($_GET['p']==NULL){
        $p=1;
    }else{
        $p=$_GET['p'];
    }
    $list = $User->order('id')->page($p.',10')->select();// 查询满足要求的总记录数
    $this->assign('list',$list);// 赋值数据集
    $count = $User->count();
    $Page = new \Think\Page($count,10);
    $show = $Page->show();
    $this->assign('page',$show);
    $this->display();

第三步:视图

<div class="result page">{$page}</div>

第四步:css

引入的样式小编感觉不是很好看,所以进行了一下美化,想要的童鞋可以拿走哦

.page{
    padding-top: 20px;
    padding-bottom: 15px;
    text-align: center;
    clear: both;
}
.num,.current,.prev,.next{
background-color: rgb(255, 255, 255);
border-bottom-color: rgb(226, 226, 226);
border-bottom-style: solid;
border-bottom-width: 0.666667px;
border-image-outset: 0;
border-image-repeat: stretch stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-color: rgb(226, 226, 226);
border-left-style: solid;
border-left-width: 0.666667px;
border-right-color: rgb(226, 226, 226);
border-right-style: solid;
border-right-width: 0.666667px;
border-top-color: rgb(226, 226, 226);
border-top-style: solid;
border-top-width: 0.666667px;
box-sizing: content-box;
color: rgb(51, 51, 51);
display: inline-block;
font-family: Helvetica Neue, Helvetica, PingFang SC, 微软雅黑, Tahoma, Arial, sans-serif;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: 12px;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-variant: normal;
font-variant-alternates: normal;
font-variant-caps: normal;
font-variant-east-asian: normal;
font-variant-ligatures: normal;
font-variant-numeric: normal;
font-variant-position: normal;
font-weight: 400;
height: 28px;
line-height: 28px;
margin-bottom: 5px;
margin-left: 0px;
margin-right: -1px;
margin-top: 0px;
padding-bottom: 0px;
padding-left: 15px;
padding-right: 15px;
padding-top: 0px;
position: relative;
text-align: left;
vertical-align: middle;
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
}
.current{
    background:orange;
}

thinkphp文件上传


该方法已经测试过了,可以正常使用,我用的是用的是ThinkPHP3.2版本写的,如果想自己添加参数的话,请参考ThinkPHP3.2的文档,该方法的原理就是先实现文件的上传,然后获取文件的名字,再用函数获取文件的扩展名(如果想指定扩展名的话,此步骤可以省略,只需要定义新的名字就行)最后调用重命名函数,对文件进行重命名。
首先先写一个前台的表单,用于提交文件

<form action="__URL__/upload" enctype="multipart/form-data" method="post" >
     <input type="text" name="name" />
     <input type="file" name="photo" />
     <input type="submit" value="提交" >
 </form>

下面这个是文件上传函数,实现文件的上传

上传函数


public function upload(){
     $upload = new \Think\Upload();// 实例化上传类
     $oldFN = $_FILES;//获取图片的信息,在后面传给重命名函数
     $upload->maxSize = 3145728 ;// 设置附件上传大小
     $upload->exts = array('jpg', 'gif', 'png', 'jpeg');
                // 设置附件上传类型
     $upload->rootPath = './'; // 设置附件上传根目录
     $upload->savePath = ''; // 设置附件上传(子)目录
     $upload->replace = true;//如果存在同名文件就覆盖
     $upload->autoSub = false;
                //不使用子目录保存上传文件,即上传到指定的文件夹
     $info = $upload->upload();
    $this->renameFile($oldFN['photo']['name'], './');//调用重命名函数
     if(!$info) {// 上传错误提示错误信息
         $this->error($upload->getError());
     }else{// 上传成功
         $this->error('上传成功!');
     }
 }

重命名函数


下面这个是文件重命名函数(重命名为1,2,3)

public function renameFile($oldFN,$path){
    for($i=0;$i<count($oldFN);$i++){
         $extName = substr($oldFN[$i],strrpos($oldFN[$i],'.'));//获取扩展名
         $newName = ($i+1)."$extName";//新的名字
         rename($path.$oldFN[$i],$path.$newName);//重命名
     }
 }

如果有不懂,或者无法正常运行的地方,可以联系我哦。以后我会经常写一些自己的见解,写一些对大家有意义的文章,希望大家多多支持,也希望大家能够多提宝贵的意见。