zoukankan      html  css  js  c++  java
  • Jquery 应用积累

    1、控制div显隐

    $("#id").show()表示display:block, 
    $("#id").hide()表示display:none; 
    $("#id").toggle()切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
     
    $("#id").css('display','none'); 
    $("#id").css('display','block'); 
    或 
    $("#id")[0].style.display = 'none'; 
    

    2、 设置span的文本

    $("#id").html("aaaaaaaa"); 
    $("#id").text("aaaaaaaa"); 
    

    3、判断<input type="checkbox" id="id"/>是否选中

    $("#id").attr("checked") == "checked"
    

    4、从后台获取在前台输出Html,以下为自己应用实例($("#id").append(data))

    HTML代码
    <tr>
                <td style="15%">筛选原料:</td>
                <td><span>验收日期段:</span>
                    <input type="text" name="model.Plan_dateFrom" value="<%:ViewData.Eval("dateStart") %>" id="Text1"/>
                    <span class="star">至</span>
                    <input type="text" name="model.Plan_dateTo" value="<%:ViewData.Eval("dateEnd") %>" id="Text2"/>
                    <input type="button" value="筛选" onclick="StuffQuery()"/> </td>
            </tr>
            <tr>
                  <td>原料信息:</td>
                  <td><div id="stuffContent"></div></td>
              </tr>
    
    JQuery代码
    //筛选原料
        function StuffQuery() {
            var dateStart = $("#dateStart").val();
            var dateEnd = $("#dateEnd").val();
            $.post("<%=path%>/ProdAndProc/SemiPlanStuff/GetStuffList",
                  { "dateStart": dateStart,
                      "dateEnd": dateEnd
                  },
                  function (responseText) {
                      var checkbox = responseText.checkbox;
                      $("#stuffContent").append(checkbox);
                  }, "json");
        }
    
    后台代码
    public ActionResult GeStuffList(string dateStart, string dateEnd)
            {
                string strResult = "";
                string strCheckBox = "";
                Hashtable result = new Hashtable();
                dateStart = dateStart == "" ? null : dateStart;
                dateEnd = dateEnd == "" ? null : dateEnd;
    
                if (dateStart == "" || dateEnd == null)
                {
                    strResult = "请选择验收时间段";
                    result.Add("message", strResult);
                    return Json(result);
                }
                else
                {
                    FoodStuffDetailBLL stbll = new FoodStuffDetailBLL();
                    DataTable dt = new DataTable();
                    dt = stbll.GetList(Session["CorpID"].ToString(), "", dateStart, dateEnd).Tables[0];
                    int count = 1;
                    foreach (DataRow row in dt.Rows)
                    {
                        string Code_ID = row["ID"].ToString();
                        string Code = row["stuff_batchNO"].ToString();
                        string Name = row["stuff_provider"].ToString();
                        strCheckBox = "<input type='checkbox' checked='checked' name='stuff' id='stuff" + count
                                    + "' value=" + Code + "_" + Name + "/><label class='hand' for='stuff" + count
                                    + "'>" + Code_ID + "</label>";
                        count++;
                    }
                }
                result.Add("message", strResult);
                result.Add("checkbox", strCheckBox);
                return Json(result);
            }
    View Code

     小结:$("#id").append(data);// 添加Html内容,不能用Text 或 Val

             当然用 after():会在该div中不断追加信息;

             如果用Text:显示加载的文本内容;

             如果用Val:点击链接第一次为空窗口,再点击才出现数据显示。

    5、删除元素中的内容

    (1)删除元素:$("#div1").remove();    (2)删除元素中内容jQuery empty();

    6、刷新页面

    (1)常用局部刷新方法:$.get方法,$.post方法,$.getJson方法,$.ajax方法

            $.get(”Default.aspx”, {id:”1″, page: “2″ }, function(data){ //这里是回调方法。返回data数据。});

            $.getScript(”http://jqueryajax.com/jquery.js”, function(){ $(”#go”).click(function(){//回调方法 }); });

            $.getJson(”Default.aspx”, {id:”1″, page: “2″ }, function(data){ //注意,这里返回的JSON数据引用方法为"data.info"});

            $.ajax({ type: "POST", url: "Default.aspx", data: "name=123",success: function(msg){ //回调方法 } });

    (2)刷新全页面

           window.location.reload();  刷新当前页面. 
           parent.location.reload();   刷新父亲对象(用于框架)
           opener.location.reload();   刷新父窗口对象(用于单开窗口)
           top.location.reload();        刷新最顶端对象(用于多开窗口)

    7、获取失去焦点:对于元素的焦点事件,使用jQuery的焦点函数focus(),blur()。

    8、对样式的操作

    [1]获取和设置class属性:$("#id").attr("class")获取class属性    $("#id").attr("class","divClass")设置class属性。

        $('input').attr("readonly",true)//将input元素设置为readonly
    [2]追加样式: $("#id").addClass("divClass2")
    [3]移除样式:$("#id").removeClass("divClass")单个移除   $(#id).removeClass("divClass divClass2")移除多个样式。
    [4]切换类名:$("#id").toggleClass("anotherClass") //重复切换anotherClass样式
    [5]判断是否含有某项样式:$("#id").hasClass("another")  等同于  $("#id").is(".another");
    [6]获取css样式中的样式:$("div").css("color") 设置color属性值. $(element).css(style)
    [7]设置单个样式:$("div").css("color","red")
    [8]设置多个样式:$("div").css({fontSize:"30px",color:"red"})     $("div").css("height","30px")==$("div").height("30px")
         $("div").css("width","30px")==$("div").width("30px")
    [9]offset()方法(只对可见元素有效):作用是获取元素在当前视窗的相对偏移,其中返回对象包含两个属性,即top和left 。
        var offset=$("div").offset();  var left=offset.left;  //获取左偏移     var top=offset.top; //获取右偏移
    [10]position()方法::作获取元素相对于最近的一个position样式属性设置为relative或者absolute的祖父节点的相对偏移,与offset()一样,它返回的对象也包括两个属性即top和left。
    [11]scrollTop()和scrollLeft():$("div").scrollTop();  //获取元素的滚动条距顶端的距离。  $("div").scrollLeft();  //获取元素的滚动条距左侧的距离。
    [11]jQuery中的 toggle和slideToggle 方法,都可以实现对一个元素的显示和隐藏。

    区别是:toggle:动态效果为从右至左,横向动作;slideToggle:动态效果从下至上,竖向动作。比如想实现一个树由下至上收缩的动态效果,就使用slideToggle就ok了。

    9、JQuery、JS动态修改JS改变img的src属性无效

    出现问题:Chrom、FireFox和IE下无效果

    <img src="<%=path%>/ValidateCode/ValidateCodeIndex" id="LoI_ValidateCodeImage"/>

    var url = "<%=path%>/ValidateCode/ValidateCodeIndex";

    $("#img").attr("src", url);

    解决方法:给图片路径加个参数如:t=Date()  或  t=Math.random() 或  保证src属性与现在的src不重复

    $("#img").attr("src", url+" ?t="+Date() );

  • 相关阅读:
    topcoder srm 320 div1
    topcoder srm 325 div1
    topcoder srm 330 div1
    topcoder srm 335 div1
    topcoder srm 340 div1
    topcoder srm 300 div1
    topcoder srm 305 div1
    topcoder srm 310 div1
    topcoder srm 315 div1
    如何统计iOS产品不同渠道的下载量?
  • 原文地址:https://www.cnblogs.com/xinaixia/p/4042717.html
Copyright © 2011-2022 走看看