• 叽歪未公开api

    【神仙】 2007-12-27 13:27

      叽歪提供了一套API接口供其他网站使用。不过他公布的API里的json接口 只有直接输出的。因为javascript的跨越问题,就只能通过代理来读取。不过既然叽歪给blog的javascript能读取,那一定还是有途径 的。看了下它输出的代码,就找到了一个未公开的参数:callback。这样就可以在js端动态获取最新的叽歪了。

    代码: 

    <script type="text/javascript">
    <!--
    function jiwai_de_callback(status){
        var text=status[0].text;
        var m = text.match(/^(.+)\[[^]]+\]\s*$/);
        if(m){
            text = m[1];
        }
        alert(text);
    }
    //-->
    </script>
    <script type="text/javascript" src='http://api.jiwai.de/statuses/user_timeline/用户名.json?count=1& callback=jiwai_de_callback'></script>

      把用户名替换成你的用户名或id即可。

  • 用flash上传文件

    【神仙】 2007-10-20 11:28

      HTML提供了一个文件上传的控件,一般在web上上传文件全靠它。但是这玩意样式不好控制。在修改了文本框和按钮的样式后,这个文件域的样子就显得很突兀。虽然有一些结合CSS和JS的技巧可以模拟不同的样式,但是很麻烦,而且在浏览器兼容,以及稳定性方面都不太好。

      好在Flash8开始提供了文件上传下载的功能,还由于有了更方便地与javascript交互的能力,完全可以不用Flash做界面(这样在页面修改的时候比较麻烦),而是把那个flash隐藏掉,用javascript和html来控制显示。此外,用flash上传还有一个很大的好处是可以显示上传进度,让用户在等待的时候感觉舒服一点。不过这种方法也有缺点,比如不能读取从服务器返回的结果,也不能通过post捎带其他的参数。

      as和js代码都很简单,可以下载回去试试。

  • 让图片跳舞的js代码

    【神仙】 2006-12-31 16:26
    imgs=document.getElementsByTagName('img');
    for(i=0;i<imgs.length;i++){    
        imgs[i].display='block';
        imgs[i].style.position='absolute';
    }
    t=0;
    function foo(){   
        for(i=0;i<imgs.length;i++){        
            x=Math.sin((t+i*8)/180*Math.PI)*300+400;
            y=Math.cos((t+i*6)/180*Math.PI)*300+300;
            imgs[i].style.left=""+x+"px";
            imgs[i].style.top=""+y+"px";   
        }
        t+=1;
        setTimeout('foo()', 20);
    }
    foo();
    将以上代码用firebug之类的扩展运行一下,或者将如下代码复制到地址栏,就可以让网页上的图片动起来。

  • javascript你可能不知道的5

    【神仙】 2006-01-17 20:17
    javascript中,break, continue可以有一个标签,来方便的跳到几层之外。
    outer:
    for(i=0;i<5;i++){
    for(j=0;j<5;j++){
    if(j==2)
    break outer;//
    document.write(i+', '+j+'; ');
    }
    }
    比较一下不加outer的情况。也试验一下continue。很有用吧
  • javascript你可能不知道的4

    【神仙】 2006-01-14 13:59
    javascrip中可以用function来定义一个类

    function Base(){
        this.foo=function(){
            return 'base';
        }

    }

    那怎么实现类的继承呢?

    function Derive1(){
        this.foo=function(){
            return 'derive';
        }

    }

    Derive1.prototype=new Base();

    var obj1=new Derive1();

    alert(obj1.foo());



    还有另外一种方法:

    function Derive2(){
        this.parent=Base;
        this.parent();
        this.bar=function(){
            return 'bar';
            }

    }

    var obj2=new Derive2;

    alert(obj2.foo());
    用这种方法还能实现多继承。
    function Base2(){
        this.bar=function(){
            return 'base2';
        }
    }
    function Derive3(){
        this.base1=Base;
        this.base1();
        this.base2=Base2;
        this.Base2();
    }
    var obj3=new Derive3;
    alert(obj3.foo());
    alert(obj3.bar());

  • javascript你可能不知道的3

    【神仙】 2006-01-10 13:08
    var arr=[1,2,3,4,5];
    delete(arr[2]);
    alert(arr.length);
    alert(arr);
    看看结果,是不是有点意外呢?
    var arr=[1,2,3,4,5];
    arr.length=3;
    alert(arr);
    length还是可写的。这样能方便得截短一个数组。
  • javascript你可能不知道的2

    【神仙】 2006-01-06 17:32
    另一种创建对象的方法:
    var obj={
    a:10,
    b:20,
    c:function(){
    alert('c');
    }
    };

    alert(obj.a);
    alert(obj.b);
    obj.c();

    这样似乎比
    obj.a=10;
    obj.b=20;
    obj.c=function(){
    alert('c');
    }
    更加清楚点。
    不过,中间的分隔是逗号,不是分号。

  • javascript你可能不知道的1

    【神仙】 2006-01-04 19:16
    对象还可以当hash表用。 
    var obj;
    obj.a=10;
    obj.b=20;

    alert(obj["a"]);
    alert(obj["b"]);

    对象也可以像数组一样用for in循环来遍历。

    for(e in obj){
    alert(e);
    }

    这样还让javascript有了动态访问对象成员的能力。对函数同样有用
    obj.foo=function(){
    alert('foo');
    }

    obj['foo']();
  • 发现一个很好玩的东西

    【神仙】 2005-10-06 13:28
    jsuix——
    一个用js来模拟unix的东西,完全js实现。用来学习不错,不用怕电脑给弄坏。

    http://www.masswerk.at/jsuix/

    我把它抓了下来,可以在本地玩了。


    下载: http://syre.blogchina.com/inc/jsuix.rar

日历

个人资料

【神仙】

世人都晓神仙好~~~~