快速查看

1 动态创建script/link/style标签
2 在不适合使用iframe的情况下,让页面像iframe那样能分块滚动
鼠标在元素上时显示tip风格的提示信息

  1、动态创建script/link/style标签

    //动态创建link
var link=document.createElement("link");
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", url); var heads = document.getElementsByTagName("head");
if(heads.length)
heads[0].appendChild(link);
else
document.documentElement.appendChild(link);
//动态创建style
var style=document.createElement("style");
style.setAttribute("type", "text/css"); if(style.styleSheet){// IE
style.styleSheet.cssText = cssString;
} else {// w3c
var cssText = document.createTextNode(cssString);
style.appendChild(cssText);
} var heads = document.getElementsByTagName("head");
if(heads.length)
heads[0].appendChild(style);
else
document.documentElement.appendChild(style);
//动态创建script
var script=document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", "JustWalking.js");
var heads = document.getElementsByTagName("head");
if(heads.length)
heads[0].appendChild(script);
else
document.documentElement.appendChild(script);

  2、在不适合使用iframe的情况下,让页面像iframe那样能分块滚动

  由于页面中用到了jquery-jstree插件,

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/common/inc.jsp" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>所有菜单资源</title>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script language="javascript">
$(function(){
//计算当前页面的高度、宽度
var clientHeight, clientWidth;
if($.browser.msie){
//如何是IE浏览器document.body.clientHeight属性得到窗口高度
clientHeight = document.body.clientHeight;
clientWidth = document.body.clientWidth;
}
else{// w3c
clientHeight = self.innerHeight;
clientWidth = self.innerWidth;
}
//客户区高度减去#menuTree div距离客户区顶部的距离
clientHeight = clientHeight - $("#menuTree").position().top;
//动态创建#menuTree div的css
var css = "#menuTree {width:" + clientWidth + "px;height:" + clientHeight+ "px;overflow:scroll;}";
var style=document.createElement("style");
style.setAttribute("type", "text/css"); if(style.styleSheet){// IE
style.styleSheet.cssText = css;
} else {// w3c
var cssText = document.createTextNode(css);
style.appendChild(cssText);
} var heads = document.getElementsByTagName("head");
if(heads.length)
heads[0].appendChild(style);
else
document.documentElement.appendChild(style);
});
  // 其他代码...
</script>
</head>
<body>
<a href="system/acl!allMenuResource.action?params">菜单授权</a>&nbsp;
<a href="system/acl!allActionResource.action?params">操作授权</a>&nbsp;
<a href="javascript:auth()">保存授权</a>&nbsp;|
<a href="javascript:permit_all()">全部允许</a>&nbsp;
<a href="javascript:deny_all()">全部拒绝</a>&nbsp;
<a href="javascript:extends_all()">全部继承</a>&nbsp;
<a href="javascript:cancel_all()">全部取消</a>
<hr/>
<div id="menuTree">
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<s:iterator value="#menuIds">
<td width="150" valign="top">
<div id="menuTree_<s:property/>"></div>
</td>
</s:iterator>
</tr>
</table>
</div>
</body>
</html>

  3、鼠标在元素上时显示tip风格的提示信息

  首先为提示块定义默认样式:

    <style type="text/css">
<!--
/* 定义提示信息块宽度、字体颜色、默认不显示、内边距、边框、背景色 */
#tooltip{
width:120px;
color:black;
display:none;
padding:5px;
border:1px solid black;
background-color:#FFFFCC;
}
-->
</style>

  在鼠标下方显示提示,并跟随鼠标移动:

    <script type="text/javascript">
$(function(){
//为文本框添加提示信息
$("input").hover(function(e){//mouseover
var x = e.pageX + 10;
var y = e.pageY + 20;
var myTitle = "以字母、数字、下划线开头,6~16个字符,区分大小写";
var tooltipHtml = "<div id='tooltip'>" + myTitle + "</div>"; //创建提示框
$("body").append(tooltipHtml); //添加到页面中
$("#tooltip").css({
"top": y + "px",
"left": x + "px",
"position":"absolute",//很重要,缺少该属性#tooltip将会位于奇怪的位置 }).show("fast");//设置提示框的坐标,并显示
}, function(){//mouseout
$("#tooltip").remove();
}).mousemove(function(e){//tip跟随鼠标移动,比较耗费系统资源,并且效果不太流畅,如无必要不推荐使用
$("#tooltip").css({
            "top": (e.pageY + 20) + "px",
            "left": (e.pageX + 10) + "px"
        });    
});
});
</script>

  如果觉得在鼠标下方遮盖了其他元素,可以在元素前或后添加提示信息,只需要对mouseover事件的处理函数进行如下修改:

    var x = e.target.offsetLeft + e.target.offsetWidth + 10;
var y = e.target.offsetTop + 20;

  好吧,昨天下载了jquery-ui,发现有现成的tooltip插件可以用,真方便啊_(:3」∠)_

  4、单击div上传文件,并且页面中不显示<input type="file"/>

    <script type="text/javascript">
$(function(){
$(".imageView").click(function(){
$("#avatar").click();
});
});
</script>
<style type="text/css">
<!--
#avatar{
width: 0px;
height: 0px;
position: absolute;
top: -20px;
left: -20px;
}
-->
</style>
<form id="uploadForm" action="system/login.action" method="post" enctype="multipart/form-data">
<input type="hidden" name="method:userInfoInput"/>
<div><input type="file" name="avatar" id="avatar"/></div>
</form>
<div class="imageView">选择你要上传的 头像</div>

  4、var args = Array.prototype.slice.call(arguments); 的作用

  这儿主要说明的是javascript中call()方法和arguments对象的作用,看了一些网上的东西,大致上了解整个语句的运作流程了。

  首先说说call的用法:

    //call的作用是调用object对象上的method方法,但在调用的时候,用obj对象替换object
  //object是window的时候通常是省略的
  object.method.call(obj, arg1,...);
  //上面的方法等同于obj.method(arg1,...);obj自身是可以没有定义method这个方法的
  //因此var args = Array.prototype.slice.call(arguments);就相当于
  var args = arguments.slice();

  另一个要说的就是arguments对象了,arguments对象是函数实参的副本

  function a(x, y){  
    //在这儿看到的arguments就是指的x, y
    //arguments类似于数组,但并不是真的数组,不能直接调用slice()方法
    //所以才用了Array.prototype.slice.call(arguments);
var args = Array.prototype.slice.call(arguments);
    //此时args[0]是x的值,args[1]是y的值
}

  

js、jquery、css使用过程中学到的一些方法技巧的更多相关文章

  1. js,jquery,css,html5特效

    包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效 jQuery最新最全 ...

  2. js jquery css 选择器总结

    js jquery css 选择器总结 一.原始JS(Document 对象)选择器. id选择器:document.getElementById("test"); name选择器 ...

  3. Django加入JS,CSS,图片等外部文件的方法

    Django加入JS,CSS.图片等外部文件的方法 By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢. 在使用Django搭建站点时,往往须要使用 ...

  4. ios jquery css('left')无法读取属性解决的方法

    ios jquery css('left')无法读取属性解决的方法 <pre>$(this).position().left因为display:none状态下是读取不了 $(this).o ...

  5. 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解

    前端html.CSS快速编写代码插件-Emmet使用方法技巧详解   Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...

  6. 制作移动端手机网站过程中的SEO优化方法技巧

    据国内三大运营商数据来看,中国的手机用户数已达10亿,超过2/5的移动用户每个月都会从手机终端访问网页,如今的移动端手机网站比例肯定有提升,但是对于这些存在的移动版本网站来说,马海祥查看了很大一部分手 ...

  7. 同时处理html+js+jquery+css的插件安装(Spket&Aptana插件安装)

    Spket 在线安装方法:Help->Software Updates(或者Install New Software)->Add site Location:http://www.spke ...

  8. js jquery中判断checkbox是否被选中的方法

    在js中: document.getElementById("checkboxID").checked   返回true或者false jQuery中: $("input ...

  9. jQuery CSS 的操作函数

    jQuery CSS 操作函数 下面列出的这些方法设置或返回元素的 CSS 相关属性. CSS 属性 描述 css() 设置或返回匹配元素的样式属性. height() 设置或返回匹配元素的高度. o ...

随机推荐

  1. LINQ 基本子句之三 let

    let子句,可以作为临时变量储存表达式的结果,但是let子句一旦初始化后无法再次进行更改. 1. static void Main(string[] args) { string[] names = ...

  2. node学习 process笔记

    如果你是node大神好了可以关闭此页面了因为接下来游览会白白浪费你许多时间,最近一直学习node.js今晚看到 alsotang 在 github上的node教程 https://github.com ...

  3. jquery easyui form load

    加载数据后如果有其他操作可以这样写: $(function () { //如果加载远程json数据后还需要有其他操作, 可以这样写 $.getJSON('GetHandler.ashx?xmbh=&l ...

  4. 也谈谈关于WEB的感想

    距离上次在博客园发表博文已经是数年以前了,想想自己也确实有够懒惰的,实为不该. 引起我想发这篇博文的原因是 @Charlie.Zheng 所发表的 <Web系统开发构架再思考-前后端的完全分离& ...

  5. SQL Server 控制锁升级

    背景知识: 锁升级的路线图.行--> 页 --> 区(extent)-->区(表分区)--> 表: alter table 控制锁的升级行为: 1.table SQL Serv ...

  6. 'adb' 不是内部或外部命令,也不是可运行的程序

    启动adb shell的时候,出现如下问题: 'adb' 不是内部或外部命令,也不是可运行的程序或批处理文件. 在确保自己的SDK安装正确的时候,就很好办了,找到SDK安装目录\platform-to ...

  7. Jmeter性能测试 及压测入门

    Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 为什么要建立线程组?原因很简单,因为我们要模拟多个线程(用户 ...

  8. 2014第7周三初识CouchBase

    今天主要还是完善需求,然后提交评审流程,尽可能不纠结一些细节问题后发现自己速度更快了,或许这才是最好的顺序,其它可能的问题就留在后续发现并解决吧.今天第一次听到并重视下couchbase.上午看到同事 ...

  9. Activity和View的区别:

    Activity和View的区别: activity相当于控制部分,view相当于显示部分.两者之间是多对多的关系,所有东西必须用view来显示.  viewGroup继承自view,实现了ViewM ...

  10. ZZ的计算器

    Problem Description ZZ自从上大学以来,脑容量就是以SB计算的,这个吃货竟然连算术运算也不会了,可是当今的计算机可是非常强大的,作为ACMer, 几个简单的算术又算得了什么呢?可是 ...