一行jQuery代码打印九九乘法表

网友西西用一行代码打印九九乘法表 展示了jQuery的级联语法,简介且功能强大 这个程序的要求:不能用if,for,var xx =等常见js代码。只能用jquery的链式代码。

于是,要生成99表,必然要递归。可递归必然有终止的条件,那就得有if(n==0)return这样的 代码,又是不被允许的。那么jquery怎么才能终止呢?我想到了用find('p:lt(n)'),n<0的时候 是会终止的。

而bind的使用,纯粹是为了递归循环。我们首先建立一个对象,绑定一个事件,无所谓了,比如error,然后在这个对象最后,triggerHandler一下,就能完成递归了。

这个程序有两个递归循环,外层的是建立九个,内层的是建立9个,在创建p的时候,把99口诀打出来。 代码如下:

$(document).ready(function(){

    $("
").data('fact',8).css('margin','10px')
             .appendTo(document.body)
             .bind('error',function(){
                $(this).parent().find("div:lt("+ ($(this).data('fact')) +")").eq(0)
                       .before($(this).clone(true).data('fact',$(this).data('fact') - 1))
                       .unbind('error')
                       .append(
                         $("
").data('fact',$(this).data('fact')).width(20).height(20)
                            .css('display','inline').css('margin','10px')
                            .appendTo($(this))
                            .bind('focus',function(){
                                $(this).text(($(this).data('fact') + 1) +
                                     "x" +
                                     ($(this).parent().data('fact') + 1) +
                                     "=" +
                                     ($(this).data('fact') + 1)*($(this).parent().data('fact') + 1)
                                     )
                                    .parent().find("p:lt("+ ($(this).data('fact')) +")").eq(0)
                                    .before($(this).clone(true).data('fact',$(this).data('fact') - 1))
                                    .unbind('focus')
                                    .parent().find("p").eq(0).triggerHandler('focus');
                                }).triggerHandler('focus')
                       ).parent().find("div").eq(0).triggerHandler('error');
             }).triggerHandler('error');
});
时间: 2025-01-02 12:19:52

一行jQuery代码打印九九乘法表的相关文章

Java语言打印九九乘法表_java

这是小时候背的九九乘法表,是中文版,不是数字版,用Java程序打印出来了.  Java源程序如下:   package com.elephant.multiply99table; public class Multiply99table { public static String Convert(int digit) { String[] digitWords = { "十", "一", "二", "三", "四&

用shell脚本打印九九乘法表

写一个shell脚本,打印打印九九乘法表,脚本如下: #!/bin/bash for ((j=1;j<=9;j++)) do for ((i=1;i<=j;i++)) do echo -e -n "${i}X${j}=$[${i}*${j}]\t" done echo done

jsp/javascript打印九九乘法表代码_JSP编程

jsp表达式方式: 复制代码 代码如下: <center> <table border="1"> <% for (int i = 1; i <= 9; i++) { %> <tr> <% for (int j = 1; j <= 9; j++) { %> <td> <% if (j <= i) { %> <%=i%>*<%=i%>=<%=i * j%>

jquery 九九乘法表代码

$(document).ready(function(){       $("<div>").data('RowNum',9).css('margin','10px')             .appendTo(document.body)             .bind('Rows',function(){                           $(this).parent().find("div:lt("+ ($(this).da

PHP输出九九乘法表代码实例

 这篇文章主要介绍了PHP输出九九乘法表代码实例,本文直接给出实现代码,需要的朋友可以参考下     ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/

PHP输出九九乘法表代码实例_php实例

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

PHP新手算法 九九乘法表简单代码

注:大牛绕过,写过者别吐槽哈~ 九九乘法表想必大家都是了解的,那怎么应用PHP的代码来实现这样一个乘法表呢? 实现效果: 后面是实现的代码,请新人们自觉,先自己懂懂脑,思想的方式有很多,总有一款适合你O(∩_∩)O~  代码如下 复制代码 <?php for($i=1;$i<=9;$i++){         for($j=1;$j<=$i;$j++){                 echo $i.'*'.$j.'='.($i*$j).' ';         }         e

awk 九九乘法表 shell实现代码_linux shell

实现代码: awk 'BEGIN{for(i=1;i<=9;i++) {for(j=1;j<=i;j++) {printf "%d%s%d%s%dt",j,"*",i,"=",i*j;}printf "n"}}' 效果图: 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索awk 九九乘法表 linux shell awk.linux shel

汇编 汇编语言-汇编多重循环 九九乘法表

问题描述 汇编多重循环 九九乘法表 要求用多重循环结构打印梯形结构的九九乘法表,我的思路是外层循环做第一个乘数的INC,里层循环做打印.乘法运算.两个乘数作比较判断是否换行以及第二个乘数的INC.既不知道我的思路能不能实现也不知道我的代码哪里出了问题,求大神指点. 解决方案 九九乘法表 解决方案二: 80x86汇编语言编程:在九九乘法表中高亮显示结果 用汇编语言编程解答: 编程输出九九乘法表,然后通过键盘输入两个数后,对应位置的乘法运算高亮. 例如:输入4.5,那么,4 * 5 = 20 的位置