• 百度一下(简单模仿输入框效果)


      1 <%@ page language="java" contentType="text/html; charset=UTF-8"
      2     pageEncoding="UTF-8"%>
      3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      4 <html>
      5 <head>
      6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      7 <title>百度一下模仿</title>
      8 <style type="text/css">
      9 html,body{
     10     width: 100%;/*默认值是0*/
     11     height: 100%;/*默认值是0*/
     12     margin: 0px;
     13     padding: 0px;
     14 }
     15 #mybody{
     16     width:100%;
     17     height: 100%;
     18     /*background-color:red;*/
     19 }
     20 #navigation_bar{
     21     width: 100%;
     22     height: 40px;
     23     /*background-color: green;*/
     24     text-align: right;/*文字内容靠右*/
     25     line-height: 40px;/*保证文字的垂直方向居中*/
     26 }
     27 #navigation_bar span{
     28     padding: 0px 10px 0px 0px;
     29     font-size: 14px;
     30     /*color:#333;*/
     31     color:#404040;
     32 }
     33 #logoDiv{
     34     width: 270px;
     35     height: 129px;
     36     /*background-color: blue;*/
     37     margin: 0 auto; /* 布局居中的一种写法 */
     38 }
     39 #inputDiv{
     40     width: 660px;
     41     height: 180px;
     42     /*background-color: yellow;*/
     43     /*margin: 0 auto;此处不写,因为在后面进行绑定*//* 布局居中的一种写法 */
     44     padding: 15px 0px 0px 0px;
     45 }
     46 #inputView{
     47     border:solid 1px #4791ff;
     48     width:530px;
     49     height: 15px;
     50     font-size: 16px;
     51     padding: 10px;
     52     
     53 }
     54 #submitView{
     55     width:98px;
     56     height:37px;
     57     border: solid 1px #4791ff;
     58     background-color: #3385ff;
     59     color: #ffffff;
     60     font-size: 15px;
     61     cursor: pointer;
     62 }
     63 #submitView:HOVER {
     64     background-color: #317ef3;/*鼠标移动过去时,背景颜色发生变化*/
     65 }
     66 #keywordDiv{
     67     width: 650px;
     68     height: 100px;
     69     background-color: #ffffff;
     70     border: solid 1px #cccccc;
     71 }
     72 #keywordDiv div{
     73     height: 20px;
     74     line-height: 20px;
     75     font-size: 16px;
     76     font-weight: bold;
     77     padding: 5px 0px 0px 5px;
     78 }
     79 .newsitem_title{
     80     color: blue;
     81     font-size: 16px;
     82     padding: 10px 0px 0px 10px;
     83 }
     84 .newsitem_desc{
     85     color: #666666;
     86     font-size: 12px;
     87     padding: 10px 0px 0px 10px;
     88 }
     89 .newsitem_href{
     90     color: #528000;
     91     font-size: 12px;
     92     padding: 10px 0px 30px 10px;
     93 }
     94 </style>
     95 </head>
     96 <body>
     97 
     98     <div id="myBodyl">
     99         <div id="navigation_bar" v-if="logo">
    100             <span>新闻</span><span>hao123</span><span>地图</span><span>视频</span><span>贴吧</span><span>学术</span><span>登录</span><span>设置</span>
    101         </div>
    102         
    103         <div id="logoDiv" v-if="logo">
    104             <img src="img/bd_logo1.png" width="270" height="129"/>
    105         </div>
    106         
    107         <div id="inputDiv" v-bind:style="{margin:inputDivStyle}">
    108             <!--  v-model="word":监视此属性的值 -->
    109             <input type="text" id="inputView" v-model="word"><input type="submit" id="submitView" value="百度一下">
    110             <!-- 判断是否显示输入框下面的相关内容 -->        
    111             <div id="keywordDiv" v-if="keywordShow">
    112                 <div v-for="item in keywordList" @click="selectItem(item)">{{item.word}}</div>
    113             </div>
    114         </div>
    115         <!-- 遍历获取过来的信息 -->
    116         <div v-for="item in newsList">
    117             <div class="newsitem_title">{{item.title}}</div>
    118             <div class="newsitem_desc">{{item.desc}}</div>
    119             <div class="newsitem_href">{{item.href}}</div>
    120         </div>
    121         
    122     </div>
    123     <script src="${pageContext.request.contextPath}/js/vue.js"></script>
    124     <script src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
    125     <script>
    126     
    127         //keywordShow:输入框下面的显示内容框
    128         //keywordList/newsList:后台获取过来的json信息
    129         //clickMyself:标记作用,判断是否是用户输入的内容还是用户点击输入框下面选择的内容    
    130         new Vue({
    131             el:"#myBodyl",
    132             data:myModel={
    133                     logo:true,
    134                     word:'',
    135                     inputDivStyle:'0 auto',
    136                     keywordShow:false,
    137                     clickMyself:false,
    138                     keywordList:[],
    139                     newsList:[]
    140                 },
    141             methods:{
    142                 selectItem:function(item){
    143                     this.word=item.word;
    144                     this.keywordShow=false;
    145                     this.clickMyself = true;//标记一下,是用户自己点击
    146                 }
    147             },
    148             watch:{
    149                 word:function(){
    150                     if(this.clickMyself==true){
    151                         this.clickMyself=false;
    152                         console.log('客户自己选中,不是输入,此方法自动退出');
    153                         return;//如果是自己点击,就不用再去访问下面代码,避免重复访问后台
    154                     }
    155                     console.log('模型word的值变了');
    156                     this.logo=false;
    157                     this.inputDivStyle='10px';
    158                 
    159                     $.ajax({
    160                         //url:"ServiceAPI001.jsp",
    161                         url:'ServiceAPI001.jsp',
    162                         type:"get",
    163                         //data:"",
    164                         dataType:"json",
    165                         timeout:2000,
    166                         success:function(result){
    167                             myModel.keywordShow=true;
    168                             myModel.keywordList=result.keywordList;
    169                             myModel.newsList=result.newsList;
    170                         },
    171                         error:function(XMLHttpRequest, textStatus, errorThrown){
    172                             alert('服务器忙,请不要说脏话,理论上大家都是文明人');
    173                             alert(textStatus+XMLHttpRequest.status);
    174                         }
    175                     }); 
    176                 }
    177             }
    178         });
    179     </script>
    180 </body>
    181 </html>

    下面是json数据

    1 <!-- 文件名(即请求地址):ServiceAPI001.jsp -->
    2 
    3 <%@ page language="java" contentType="text/html; charset=UTF-8"
    4     pageEncoding="UTF-8"%><%
    5     Thread.sleep(800);
    6     
    7     %>{"keywordList":[{"word":"刘亦菲重返校园"},{"word":"刘亦菲"},{"word":"刘德华"},{"word":"刘诗诗"}],"newsList":[{"title":"新闻标题1","desc":"内容描述1","href":"http://xxx/link1.jsp"},{"title":"新闻标题2","desc":"内容描述2","href":"http://xxx/link2.jsp"},{"title":"新闻标题3","desc":"内容描述3","href":"http://xxx/link3.jsp"}]}
    8  
  • 相关阅读:
    为什么要使用href=”javascript:void(0);”
    29zTree
    js获取下拉框的值
    C# 判断文件夹与文件是否存在
    C# 判断文件和文件夹是否存在并创建
    ASP.NET实现excel导入数据库
    同时向主表和从表里面导入execl数据 (asp.net webform)
    EasyUI数据分页实现(真假分页)
    easyui datagrid 前台分页的实现java采用的版本
    异步和多线程
  • 原文地址:https://www.cnblogs.com/sunduge/p/8000988.html
Copyright © 2020-2023  润新知