«

»

[转载]JQuery实现页面随滚动条滚动而动态加载内容的效果

快抢沙发

新浪微博有这个功能,刚才思考一下 ,简单的写了一下实现方法,代码是Js的.

无可否认,这种方式应该算是web2.0的产物,在用户体验上具备很好的感受,除了微博在使用该方式外,另外我还发现有几个其他性质的网站也在用这种方式,原因是他们的网站页面比较长,所以用户在浏览的时候随着滚动条的拖拽而不断加载新的内容到浏览器内,虽然体验会不错,但是我感觉这种方式对搜索引擎的友好性将会降低.欢迎转载但请注明出处Email:See7di@Gmail.com,Seven的部落格http://hi.baidu.com/see7di

所以除非不得已我是不会使用这种方式的,就目前来看我的作品内我还没发现哪个程序需要使用这种方式.

不过不论如何,创新就是一种进步,难道不是吗?

下边的代码是直接使用javascript来实现:
window.onscroll = function(){
var water = document.getElementById(“water”);
water.style.top = (document.documentElement.scrollTop|document.body.scrollTop)+’px’;
water.innerHTML = “scrollTop:” + (document.documentElement.scrollTop|document.body.scrollTop) + “
ClientHeight:” + document.documentElement.clientHeight + “
scrollHeight:” + document.documentElement.scrollHeight;

//滚动条在最底端的时候
if (document.documentElement.scrollHeight == (document.documentElement.scrollTop|document.body.scrollTop)+document.documentElement.clientHeight) {
//到最底端去请求新数据
var table=I.$(‘tag’,’table’)[0];
var start=parseInt(table.rows[table.rows.length-1].cells[0].innerHTML)+1;;
var length=10;
var param=’start=’+start+’&length=’+length;
I.AJAX.post(‘/test2/DataServlet’,param,function(o){
var persons=I.AJAX.json(o.responseText);
//加载新的十行数据
for(var i=0;ih’)},function(msg){//用ajax即时获取伺服器上的资料
if(msg.length>0){
$(“#index #tab5 #tab19”).last().after(msg);
ia=null;
}else{
$(“#index #div2”).last().remove();
$(“#index #tab5 #tab19”).last().after(‘Error:没有搜寻到任何结果,请尝试更换搜寻条件!‘);
}
});
}
}
});

原文地址:http://hi.baidu.com/see7di/blog/item/e1a7a5000b8ed495e850cd4a.html

2012.01.30
H
阅读全文...

忘记表扬一下腾讯了

快抢沙发

呵呵,我一直喜欢chrome浏览器,但是当时一直有一个麻烦,最显著的就是QQ的快捷登陆,在QQ.COM旗下网站能检测到正在登陆的QQ,并在网站上显示一个“快捷登陆”,这一招很不错,很是方便,但是在chrome和火狐上还是不支持,目前我的chrome也实现了快捷登陆,当然,我们有理由相信,这是腾讯做的,而并非牛X的chrome的功劳,今天突然又看到了快捷登陆,所以想到自己一直忘记在这一点上表扬腾讯了,呵呵,等哪天工行的网站也可以用chrome登陆并识别我的U盾,那就完美了,那是的话,我要IE做甚。呵呵。

2012.01.26
H
阅读全文...

自用amd平台PC安装雪豹10.6.5东皇v3.2 Mac

快抢沙发

对于我的电脑很奇怪,反倒是不开启AHCI为好,就使用IDE模式,写入dmg镜像后,用吧bootthink引导安装,加入适当的kext(具体不记得了,在本电脑上面没有),然后会很顺利的完成安装(最好几秒提示安装错误,不用理会,实际已经成功了),然后返回到win7下,替换内核mach_kernel,重启用再用bootthink引导进入mac,进行余下操作即可

2012.01.26
H
阅读全文...

java数组应用

快抢沙发

用java实现数到3退出(一群小朋友围成一个圈,数到3的朋友自动退出该圈)
Count3Quit.java的源代码如下


package com.daozhao;

public class Count3Quit {
	public static void main(String[] args){
		KidCircle kc=new KidCircle(500);
		int CountNum=0;
		Kid k=kc.first;
		while(kc.count>1){
			CountNum++;
			if (CountNum==3){
				CountNum=0;
				kc.delete(k);
				
			}
			k=k.right;
		}
		System.out.println(kc.first.id);
	}
}

class Kid{
	int id;
	Kid right;
	Kid left;
}

class KidCircle{
	int count=0;
	Kid first;
	Kid last;
	
	KidCircle(int n){
		for(int i=0;i<n;i++){
			add();
		}
	}
	
	void add(){
		Kid k=new Kid();
		k.id=count;
		if (count==0){
			first=k;
			last=k;
			k.left=k;
			k.right=k;
		}
		else{
			last.right=k;
			k.left=last;
			k.right=first;
			first.left=k;
			
		}
		count++;
	}
	
	void delete(Kid k){
		if(count<=0){
			return;
		}
		else if(count==1){
			first=last=null;
		}
		else{
			k.left.right=k.right;
			k.right.left=k.left;
			
			if(k==first){
				first=k.right;
			}
			else if(k==last){
				last=k.left;
			}
		}	
		count--;
	}
}

2012.01.21
H
阅读全文...

java异常处理

快抢沙发

平时进行java编程时难免会出现各种异常,正所谓程度不是编出来的,而是调出来的,所以认识这些异常是很有帮助的
一般我们会简单的出java异常是有五个关键字 try,catch,finally,throw,throws
下面看一个例子
TestException.java的源代码如下:

package com.daozhao;

public class TestException {
	public static void main(String[] args){
		
		try{
			System.out.println(2/0);
			//由于上面的语句报错了,所以下面的语句将得不到执行
			System.out.println(22);
		} catch (ArithmeticException ae){
			System.out.println("出现除数为0的异常,具体细节如下:");
			ae.printStackTrace();
		}
		finally {
			//下面的语句不管上面有什么异常,都会执行的
			System.out.println("123");
		}
	}

}

2012.01.18
H
阅读全文...

java实现数组相减

快抢沙发

先定义两个数组,前面的一个小,后面的一个比前面的大,名为相减其实就是求大数组中小数组不包含的那一部分的集合
我们可以看Test.java源代码

package com.daozhao;
import java.util.*;

public class Test {
	static String[] subtract(String[] a,String[] b){
        ArrayList<String> rsList = new ArrayList<String>();
        boolean flag = true;
        for(int i= 0;i<a.length;i++) {
        	for (int j=0; j<b.length;j++) {
                if(a[i].equals(b[j])) {
                    flag = false;
                    break;
                }
            }
            if(flag){
                rsList.add(a[i]);
            }
            flag = true;
        }
        String[] rsArr = new String[rsList.size()];
        for(int k=0;k<rsList.size();k++){
            rsArr[k]=rsList.get(k);
        }
        return rsArr;
        
    }
	
	public static void main(String[] args){
		String[] aa={"1","2","3","5","6"};
		String[] bb={"1","2"};
		subtract(aa,bb);
		for(int i=0;i<subtract(aa,bb).length;i++){
			System.out.println(subtract(aa,bb)[i]);
		}
	}

}
2012.01.16
H
阅读全文...

java制件一个发牌的类

快抢沙发

一个发牌系统,详情见Exec.java源代码

package com.daozhao;

import java.util.*;

public class Exec{
       public static void main(String[] args){
              //存储108张牌的数组
              int[] total = new int[108];
              //存储四个玩家的牌
              int[][] player = new int[4][25];
              //存储当前剩余牌的数量
              int leftNum = 108;
              //随机数字
              int ranNumber;
              //随机对象
              Random random = new Random();
             
              //初始化数组
              for(int i = 0;i < total.length;i++){
                     total[i] = (i + 1) % 54;
                     //处理大小王编号
                     if(total[i] == 0){
                            total[i] = 54;  
                     }
                           
              }
             
              //循环发牌
              for(int i = 0;i < 25;i++){
                     //为每个人发牌
                     for(int j = 0;j < player.length;j++){
                            //生成随机下标
                            ranNumber = random.nextInt(leftNum);
                            //发牌
                            player[j][i] = total[ranNumber];
                            //移动已经发过的牌
                            total[ranNumber] = total[leftNum - 1];
                            //可发牌的数量减少1
                            leftNum--;     
                     }    
              }
             
              //循环输出玩家手中的牌
              for(int i = 0;i < player.length;i++){
                     for(int j = 0;j < player[i].length;j++){
                            System.out.print("  " + player[i][j]);   
                     }
                     System.out.println();
              }
              //底牌
              for(int i = 0;i < 8;i++){
                     System.out.print("  " + total[i]);  
              }
              System.out.println();
       }
}
2012.01.15
H
阅读全文...

java枚举类

快抢沙发

这是一个写春夏秋冬四季的例子
用enum定义枚举类
SeasonEnum.java源代码如下

package com.daozhao;

public enum SeasonEnum {
	SPRING,SUMMER,FALL,WINTER;
}

TestEnum.java类源代码

package com.daozhao;
import java.lang.Enum;

public class TestEnum {
	public void judge(SeasonEnum s){
		//switch语句里的表达式可以使枚举值
		switch(s){
		case SPRING:
			System.out.println("春暖花开,正好踏青");
			break;
		case SUMMER:
			System.out.println("夏日炎炎,适合游泳");
			break;
		case FALL:
			System.out.println("秋高气爽,进补及时");
			break;
		case WINTER:
			System.out.println("冬日雪飘,围炉赏雪");
			break;
		}
	}
	public static void main(String[] args){
		//所有枚举类都有一个values方法,返回该枚举类的所有实例
		for(SeasonEnum s:SeasonEnum.values()){
			System.out.println(s);
		}
		//平常使用枚举实例是,总是通过EnumClass.variable形式访问
		new TestEnum().judge(SeasonEnum.SPRING);
	}
}

2012.01.12
H
阅读全文...

java非静态类外部类内部类使用

快抢沙发

包含了非静态内部类和使用内部类,有以下知识点:
1.非静态内部类访问外部类成员、
2.外部类访问内部类的实例属性
3.在外部类以外的地方来定义内部类
4.在外部类以外的地方创建非静态内部类实例

看Outer.java源代码

package com.daozhao;

public class Outer {
	public int outProp=9;
	class Inner{
		private int inProp=5;
		public void accessOutProp(){
			//非静态成员访问外部类的成员
			System.out.println("外部类成员是" + Outer.this.outProp);
		}
	}
	public void accessInnerProp(){
		//外部糊涂不能直接访问非静态内部类的实例属性
		//System.out.println(inProp);
		//如需访问,得显式创建内部类对象
		System.out.println("内部类的成员是" + new Inner().inProp);
	}
	
	public void showOut(){
		System.out.println("外部类的成员是" +outProp);
	}
	
	public static void main(String[] args){
		//执行下面的代码,只创建了外部对象,还未创建内部对象
		new Outer().accessInnerProp();
		
		//添加showOut方法输出外类成员
		new Outer().showOut();
		//在外部类以外使用非静态内部类
		Outer.Inner i=new Outer().new Inner();
		i.accessOutProp();
	}
}
2012.01.11
H
阅读全文...

新浪发的公告延时严重

快抢沙发

今天打开邮箱发现新浪给我发的公告,讲的就是csdn数据库泄露那事,标的时期是“2011年12月29日”,不知道是新浪邮件发送系统的问题,还是腾讯邮件接收系统问题,或者二者都有问题,我今天才收到 此邮件,真搞笑,都啥时候的事了,现在才跟我“发”这个,为时太晚了吧。。。
新浪公告延时

2012.01.10
H
阅读全文...

java继承类时你注意到这了吗

快抢沙发

java使用继承需要注意的地方

在构建子类时先构建父类,用到父类的test方法,而子类重写了父类的test方法,所以此时实际调用子类了test方法,而子类test无name属性,所以name为null而非Ok


class TheBase{
	public TheBase(){
		test();
	}
	
	public void test(){  //  一号test
		System.out.println("将被子类重写的方法");
	}
}


public class TheSub extends TheBase{
	private String name="Ok";
	public void test(){  // 二号test
		
		//在构建子类时先构建父类,用到父类的test方法,而子类重写了父类的test方法,所以此时实际调用子类了test方法,而子类test无name属性,所以name为null而非Ok
		System.out.println("子类重写父类的方法,其name字符串为" + name);
	}
	
	public static void main(String[] args){
		//下面代码将引发空指针异常
		TheSub s=new TheSub();
	}
} 
2012.01.09
H
阅读全文...

java定义一个类来表示三维坐标

快抢沙发

本题有一下要求:
1.可以生成具有特定坐标的点对象
2.提供可以设定三个坐标的方法
3.提供可以计算该点距原点距离的平方的方法

编写程序验证以上三条
TestPoint.java的源代码如下

class Point {
	double x, y, z;
	
	Point(double _x, double _y, double _z) {
		x = _x;
		y = _y;
		z = _z;
	}
	
	void setX(double _x) {
		x = _x;
	}
	
	double getDistance(Point p) {
		return (x - p.x)*(x - p.x) + (y - p.y)*(y - p.y) + (z - p.z)*(z - p.z);
	}
	
}

public class TestPoint {
	public static void main(String[] args) {
		Point p = new Point(1.0, 2.0, 3.0);
		Point p1 = new Point(0.0, 0.0, 0.0);
		System.out.println(p.getDistance(p1));
		
		p.setX(5.0);
		System.out.println(p.getDistance(new Point(1.0, 1.0, 1.0)));
	}
}
2012.01.06
H
阅读全文...

个人推荐大家的手机都使用“移动MOMO”

昨天发现了一个手机软件,目前我使用的是android版,它还有iphone,塞班,kjava等版本,基本大家都能用了哦。
我一直都希望找到一个能免费发短信的软件,当然,当下这情况,能发文字必然会再能成能发图片,发录音,说白了,就是整的像米聊,微信一样。目前来说,上述一般的软件只要你和对方都在线,都注册成统一平台用户,发文字,图片和语音自然没问题,可是这样有什么了不起,就像你和对方都在登QQ,你们能发消息一样,没创新。
用飞信发消息不掏钱,但是得对方是你的飞信好友啊,不可能能都是你的飞信好友吧,呵呵。
用QQ,微信发消息不掏钱,但是你的联系人不可能都是你的QQ好友吧,呵呵。

移动MOMO就是牛X,你的联系人,只要他是手机号,不管他现在上不上网,更不需要他安装移动MOMO客户端,他都能收到你的MO短信哦。移动momo就是牛X,有了它,你可以大大减少短信费了。你发的MO短信会自动转发到他得手机上。

2012.01.06
H
阅读全文...

java方法的参数传递机制

快抢沙发

我们通过两个例子来了解java方法的参数传递机制
TestPrimitiveTransfer.java
源代码如下

public class TestPrimitiveTransfer 
{
	public static void swap(int a,int b)
	{
		//下面三行代码实现a,b变量的值交换
		//定义一个临时变量来保存a变量的值
		int tmp=a;
		a=b;
		//把临时变量tmp的值赋给a
		b=tmp;
		System.out.println("swap方法里,a的值是"+a+",b的值是"+b);
	}
	public static void main(String[] args) 
	{
		int a=6;
		int b=9;
		swap(a,b);
		System.out.println("交换后,实参a的值是"+a+",实参b的值是"+b);
	}
}

效果如下
java方法的参数传递
同时TestReferenceTransfer.java
源代码如下

public class TestReferenceTransfer 
{
	public static void swap(DataWrap dw)
	{
		//下面三行代码实现dw的a,b属性值交换
		//定义一个临时变量来保存dw对象的a属性的值
		int tmp=dw.a;
		dw.a=dw.b;
		dw.b=tmp;
		System.out.println("swap方法里,a属性的值是"+dw.a+";b的值是"+dw.b);
	}
	public static void main(String[] args) 
	{
		//DataWrap类在DataWrap.java里面
		DataWrap dw=new DataWrap();
		dw.a=6;
		dw.b=9;
		swap(dw);
		System.out.println("交换结束后,a属性的值是"+dw.a+";b属性的值是"+dw.b);
	}
}

其中的DataWrap类在DataWrap.java里面,源代码如下

public class DataWrap
{
	public int a;
	public int b;
}

运行效果图如下
java方法的参数传递机制

2012.01.04
H
阅读全文...
  • sitemap_baidu