Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/466: Рейтинг темы: голосов - 466, средняя оценка - 4.88
tanos
1

Обмен готовыми решениями

28.01.2008, 13:36. Показов 84074. Ответов 68
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Предлагаю обмениваться готовыми, рабочими!, скриптами. Выкладываю первую библиотеку из 35 скриптов. Может кому и пригодится
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2008, 13:36
Ответы с готовыми решениями:

Обмен готовыми решениями
Привет, мир! Предлагаю здесь обмениваться готовыми решениями, исключительно html + css. Итак,...

Обмен готовыми решениями
<?PHP echo getfilesize($_GET); // Функция для определения размера function...

Обсуждение класса постраничной навигации из темы "Обмен готовыми решениями"
Выделено из темы: https://www.cyberforum.ru/php/thread158262-page2.html Para bellum, может стоит...

Scanf с готовыми строками
Народ. Вопрос состоит в следующем: как применить scanf к уже введённой строке? Заранее спасибо за...

68
белый @ пушистый
2100 / 554 / 16
Регистрация: 13.07.2007
Сообщений: 1,890
28.01.2008, 14:08 2
боюсь, что моя сборка покажется вам детской песочницей )
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
29.01.2008, 15:40 3
Экстрактор HTML тегов на самопальном парсере. На скорость не проверял.
Вложения
Тип файла: rar TagExtactor.rar (9.1 Кб, 632 просмотров)
3
Кто вы, мистер Смит?
285 / 117 / 2
Регистрация: 03.03.2008
Сообщений: 525
21.05.2008, 21:04 4
Небольшой самопальный опросник. Максимум 5 вариантов ответа, создается после заполнения небольшой формы. Может кому пригодится
Вложения
Тип файла: rar opros.rar (3.8 Кб, 495 просмотров)
3
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 3
07.06.2008, 23:25 5
Сначала я сам хотел скачать готовый скрипт, но кроме вариантов, которые извлекают курсы 2 курса валют, рублей и доллара, я ниче не нашел. Тогда я скачал один из таких скриптов и переделал его на свой лад, да еще и сделал вывод в иксмл :-) вот что получилось

Скрипт при запуске непосредственно считывает данные валют с сайта http://www.rbc.ua/
и записывает их файл иксмл, название которого - текущая дата, а
месторасположение - в том же каталоге что и сам скрипт. Скрипт можно
запускать как с командной строки, так и через веб интерфейс.

ПРИМЕР ВЫВОДИМЫХ ДАННЫХ

XML
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="windows-1251"?>
<valuta>
<date>20001122153928</date>
<dollar_spros>4.574</dollar_spros>
<dollar_predlozenie>4.859</dollar_predlozenie>
<dollar_nbu>505.000</dollar_nbu>
<euro_spros>7.175</euro_spros>
<euro_predlozenie>7.647</euro_predlozenie>
<nbu_euro>786.639</nbu_euro>
</valuta>

Разработчик: ARseny

Желаю приятного пользования скриптом :-)
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
26.07.2009, 14:08 6
Javascript
1
2
3
4
5
6
7
8
9
...
if (document.title=="Дрессировка собак")
  {
    document.write('<a href="index.html"><b>Home page</b></a> ');
  }
if (document.title!="Дрессировка собак")
  {
    document.write('<a href="index.html">Home page</a> ');
  }...
менюшка на проверку title и выделение жирным текущего положения, тупо, просто, прикольно
0
288 / 131 / 4
Регистрация: 15.02.2009
Сообщений: 520
23.08.2009, 10:20 7
Простейшая, кроссбраузерная версия круглых углов.
Если на странице нужно много "круглых окошек", то для уменьшения размера HTML, лучше использовать вариант со скриптом.
Есть версии с бордюром, вплоть до графической версии, без картинок, всё построено на одном принципе.
Вложения
Тип файла: 7z Corners_Round_Background.7z (1.5 Кб, 218 просмотров)
7
288 / 131 / 4
Регистрация: 15.02.2009
Сообщений: 520
31.10.2009, 07:09 8
Окно с тенью.
HTML5
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
    <head>
        <title>Серия, графичиские рамки. Окна с тенью</title>
        <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
        <meta name="generator" content="CSE HTML Validator Халявной Версии">
        <link rel="stylesheet" type="text/css" href="Round_Shade/round_shade_C.css">
        <link rel="stylesheet" type="text/css" href="Square_Shade/square_shade_C.css">
        <script type="text/javascript" src="Round_Shade/round_shade_J.js"></script>
        <style type="text/css">
            .S1 {
                background: #ffc248;
                overflow: hidden;
                height: 6px;
                margin: 0 6px 0 0;
            }
            
            .S2 {
                background: black;
                overflow: hidden;
                height: 7px;
                margin: 0 0 0 7px
            }
            
            .s3 {
                border-right: black 6px solid;
                border-left: #ffc248 0 solid;
                background: #ffc248;
            }
            
            .s5 {
                text-align: justify;
                color: #004060;
                font-style: italic;
                font-family: 'Monotype Corsiva', Georgia, Sans-Serif;
                font-size: 120%;
                font-weight: 300;
                padding: 0 12px 7px 10px;
            }
            
            .s4 {
                padding: 0 10px 0 0;
                color: #e04000;
                text-align: right;
            }
        </style>
    </head>
    <body bgcolor="#a3c7bd" onload="initShade();" scroll="auto">
        <br clear="all">
        <br>
        <div align="center">
            <div style="width:49%;">
                <div align="right" style="margin:0 55px 5px 0">Сделано CSS</div>
                <div class="S1"></div>
                <div class="s3">
                    <!-- таблица нужна для осла, если использовать font-style:italic;, осёл неправильно использует это свойство -->
                    <table border="0" width="100%" cellpadding="0" cellspacing="0">
                        <tr>
                            <td>
                                <div class="s5">
                                    Образование граждан есть такое же национальное богатство государства, как золото и алмазы, находящиеся на его территории. Чем больше знаний будет у нашей молодёжи, чем лучше она может ими пользоваться, тем, несомненно, богаче и славнее будет наше государство.
                                    <div class="s4">Владимир Алексеевич Хлебников</div>
                                </div>
                            </td>
                        </tr>
                    </table>
                </div>
                <div class="S2"></div>
            </div>
        </div>
    </body>
</html>
6
21 / 21 / 1
Регистрация: 28.12.2009
Сообщений: 195
17.02.2010, 17:20 9
Javascript
1
2
3
4
5
6
7
8
9
10
11
IE = (document.all);
NC = (document.layers);
Opera = (document.getElementById);
 
function getWidth() {
    if (IE || Opera)
        send = document.body.clientWidth;
    if (NC)
        send = window.innerWidth;
    return send;
}
Аналогично можно и для высоты экрана сделать.
1
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
10.05.2010, 09:41 10
Избитая проблема с наследованием в JS. Собрав из нескольких источников самое лучшее, сделал свой вариант. Позволяет весьма наглядно и удобно описывать классы с возможностью наследования. Единственный странный шаг, на который пришлось пойти, - вместо new C() писать С.Create()

Необходимые описания:
Javascript
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// после создания экземпляра вызывает его метод Create с переданными параметрами
Function.prototype.Create = function() {
    // создаем экземпляр
    var o = new this;
    // если у него есть метод Create, то вызываем его с переданными параметрами
    if (typeof o.Create == 'function') {
        if (arguments.length) o.Create.apply(o, arguments);
        else o.Create();
    };
    return o;
};
 
// наследование от другой функции или от объекта Object
Function.prototype.Inherits = function(parent) {
    // если уже унаследован, то ошибка
    if (this.prototype && this.prototype.parent) {
        throw {message : 'Class already inherited'};
    };
    // если наследуем от функции
    if (parent && parent.constructor == Function) {
        this.prototype = new parent;
        this.prototype.constructor = this;
        this.prototype.parent = parent.prototype;
    }
    // если наследуем от Object
    else if (parent && parent.constructor == Object) {
        this.prototype = parent;
        this.prototype.constructor = this;
        this.prototype.parent = parent;
    }
    // иначе ошибка
    else {
        throw {message : 'Invalid type of parent'};
    };
    return this;
};
 
// декларация нового класса с необязательным родительским классом и необязательными полями
// метод Create будет использоваться как вызов конструктора
function Class(parent, fields) {
    // создаем реальный конструктор для наследования прототипов
    var C = function(){};
    // по умолчанию пустой прототип
    C.prototype = {};
    // наследуем от родителя
    if (parent) C.Inherits(parent);
    if (typeof fields == 'object') {
        // копируем поля в прототип
        for (var k in fields) {
            if (k != 'constructor') C.prototype[k] = fields[k];
        };
    };
    return C;
};
Использование:
Javascript
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
37
38
39
40
41
42
43
44
45
46
47
48
// определяем класс A без родителя
var A = Class(null, {
    Create : function(x) {
        alert('A.Create');
        this.x = x;
    },
    Show : function() {
        alert('A: [' + this.x + ']');
    },
    foo : function() {
        alert('A.foo');
    }
});
 
// определяем класс B наследованный от A
var B = Class(A, {
    Create : function(x, y) {
        alert('B.Create');
        // вызываем наследованный Create()
        this.parent.Create.call(this, x);
        this.y = y;
    },
    Show : function() {
        // нет вызова к наследованному Show()
        alert('B: [' + this.x + ',' + this.y + ']');
    },
    foo : function() {
        alert('B.foo');
        // вызываем наследованный foo()
        this.parent.foo.call(this);
    },
    bar : function() {
        alert('B.bar');
    }
});
 
// создаем объект класса A
// 'A.Create(5)' вместо 'new A(5)'
var a = A.Create(5); // выдает A.Create
a.Show(); // выдает A: [5]
 
// создаем объект класса B
var b = B.Create(2, 3); // выдает B.Create и наследованное A.Create
b.Show(); // выдает B: [2,3]
 
a.foo(); // выдает A.foo
b.foo(); // выдает B.foo и наследованное A.foo
b.bar(); // выдает B.bar
Плюсы:
  1. Наглядное (ИМХО) и компактное описание класса.

Минусы:
  1. Извратное C.Create() вместо привычного new C() .
  2. Использовать класс можно только после его описания.
4
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
18.06.2010, 17:20 11
IE6 element:hover

ie6.js
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function fixHover(element) {
    if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent) && element && !element.fixHoverCallback && element.attachEvent) {
        element.fixHoverCallback = function(e) {
            e = e || window.event;
            var o = e.target ? e.target : e.srcElement;
            while (o && o != element) o = o.parentNode;
            if (o) {
                var c = o.className, c1;
                c1 = c;
                if (e.type == 'mouseover') {
                    if (!(/(?:^|\s)hover(?:\s|$)/i.test(c))) c1 = c + ' hover';
                }
                else {
                    c1 = c.replace(/\s+hover\s+/gi, ' ').replace(/^hover\s+|\s+hover$/gi, '');
                };
                if (c1 != c) o.className = c1;
            };
        };
        element.attachEvent('onmouseover', element.fixHoverCallback);
        element.attachEvent('onmouseout', element.fixHoverCallback);
    };
};
ie6.css
CSS
1
.fixhover {filter:expression(fixHover(this));}
Теперь пользуем
HTML5
1
<div class="fixhover">foo <span>bar</span> lol</div>
CSS
1
2
3
4
5
div:hover,
div.hover {color:#f00;}
 
div:hover span,
div.hover span {background:#fcc;}
Проверено в многоуровневых CSS-меню.
5
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
07.11.2010, 11:20 12
Снегопад для вашего хомяка.
Javascript
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 // вспомогательный объект для получения высоты и ширины клиентского окна браузера
var win = {
    w: function() { return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; },
    h: function() { return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; }
}
// объект нашего снегопада
var snow = {
    flake_image: 'snow.gif',
    flakes: [],
    timer: false,
    init: function(flake_count) {
        this.flakes = [];
        for (var i = 0; i < flake_count; i++) {
            var img = new Image();
            img.src = this.flake_image;
            img.style.position = 'absolute';
            img.style.zIndex = i;
            document.body.appendChild(img);
            this.flakes[i] = {
                img: img, 
                pos: function (x, y) {
                    this.img.style.left = x + 'px';
                    this.img.style.top  = y + 'px';
                    return this;
                },
                x: Math.random() * (win.w() - 50),
                y: Math.random() * win.h(),
                a: Math.random() * 20,
                s: { x: Math.random() * 0.1 + 0.02, y: Math.random() + 0.7 },
                d: 0
            }
        }
    },
    start: function(flake_count) {
        this.init(flake_count || 10);
        this.timer = setInterval(this.live(this), 50);
    },
    stop: function() { if (this.timer) { clearInterval(this.timer); this.timer = false; }; },
    live: function(ctx) { // замыкание
        return function() {
            for (var i in ctx.flakes) {
                var f = ctx.flakes[i];
                if ((f.y += f.s.y) > (win.h() - 50)) {
                    f.pos(f.x = (Math.random() * (win.w() - 50)), f.y = 0);
                } else {
                    f.pos(f.a * Math.sin(f.d += f.s.x) + f.x, f.y);
                }
            }
        };
    }
}
Пример использования:
Javascript
1
2
3
4
5
6
window.onload = function() { 
    // картинка со снежинкой (png или gif, чтобы прозрачности были)
    snow.flake_image = 'http://www.sunshineworldpoland.com/images/snowflake.png';
    // стартуем (параметр - количество хлопьев)
    snow.start(50);
}
Написал спонтанно, переписав древний скрипт из этой темы.
8
IzumeRoot
04.01.2011, 17:58 13
Не удовлетворили встроенные средства поиска в jqGrid. Решил написать свою собсвенную панель поиска для jqGrid.
Прошу критиковать и пользоваться. Встречайте smart search panel для jqgrid.
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
07.02.2011, 23:25 14
Может кому пригодится клонирование объекта или массива:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function clone(o) {
        var c = 'function' === typeof o.pop ? [] : {},
            p, v;
        for (p in o) {
            if (o.hasOwnProperty(p)) {
                v = o[p];
                if (v && 'object' === typeof v) {
                    c[p] = this.clone(v);
                }
                else {
                    c[p] = v;
                }
            }
        }
        return c;
    }
5
29 / 5 / 0
Регистрация: 19.02.2011
Сообщений: 3
19.02.2011, 15:54 15
Для тех, кто хочет начать использовать элемент html5 canvas, рекомендую jCanvaScript. Похожие на jQuery функции позволят не терять время на изучение, а сразу начать рисовать, создавать анимацию или даже игры. На сайте, в разделе документация, много простых примеров.
5
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
12.07.2011, 19:24 16
Вот моя библиотека. Реализовано достаточно много функций, включая селекторы (правда, работают они жутко долго ).

fresh JS Framework.rar
1
Просто любитель
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
17.05.2012, 14:19 17
Функция для расчёта переплат по любым кредитам. Написал небольшой комментарий. Выкладываю на случай, если кому-то понадобится проводить такие расчёты, а разбираться во всех скриптах (ещё и без комментариев) моего кредитного калькулятора будет неохота.
Javascript
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/**
      Объект calculateCredit имеет два метода:
    differ и annuitet. Первый метод рассчитывает кредит с
    дифференцированными платежами, второй --- с аннуитетными.
    
      Оба метода принимают три параметра: 
    sum (сумма кредита), 
    term (срок кредита), 
    rate (процентная ставка по кредиту). 
    
      Оба метода возвращают объект, содержащий:
    overpay: переплату по кредиту за весь срок,
    payments: массив, включающий все платежи по кредиту.
    (Метод annuitet возвращает массив, состоящий из 
    одного элемента, поскольку все платежи одинаковы).
    total:  общую сумму, которую нужно будет вернуть Банку.
    (с) GuardCat2012
*/
 
calculateCredit = (
 
  function() {
  
     var 
       errMsg = "Ошибочка. Проверьте введённые цифры",
      wrongResult = {
        overpay: errMsg, 
        payments: [errMsg],
        total: errMsg 
      }
    ;
    
    return {
    
      differ: function(sum, term, rate) {
         var 
           overpay, payment, count, x,
           result = { 
            total: 0,
            overpay: 0,
            payments: [ ]
          }
         ;
  
        for(var x in arguments) {
          arguments[x] = parseFloat(arguments[x]);
          if( isNaN( arguments[x] ) ) return wrongResult;
          if( arguments[x] === 0) arguments[x] = 0.0000000000001;
        }
 
        if(rate) rate = rate / 100 / 12; 
        while(term) {
          payment = sum / term;
          overpay =  sum * rate;
          result.overpay += overpay;
          count = result.payments.length; 
          result.payments.push( +(payment + overpay ).toFixed( 2 ) );
          result.total += result.payments[count];
          term--;
          sum -= payment;
        }
        result.total = result.total.toFixed(2);
        result.overpay = result.overpay.toFixed(2);
        return result
        
      },
      
      annuitet: function(sum, term, rate) {
        var 
          x, koeffAnn  ,
          result = { 
            total: 0,
            overpay: 0,
            payments: [ ]
          }
        ;
  
        for(var x in arguments) {
          arguments[x] = parseFloat(arguments[x]);
          if( isNaN( arguments[x] ) ) return wrongResult;
          if( arguments[x] === 0) arguments[x] = 0.0000000000001;
        }
        
        if(rate) rate = rate / 100 / 12; 
        koeffAnn = rate * Math.pow( ( 1 + rate ), term ) / (  Math.pow( ( 1 + rate ), term ) - 1 );
        result.payments.push( ( sum * koeffAnn ).toFixed( 2 ) );
        result.total = ( result.payments[0] * term ).toFixed( 2 );
        result.overpay = ( result.total - sum ).toFixed( 2 );
 
        return result;
      }
    }//object
    
  }//anonymous function
  
)()
1
5 / 5 / 2
Регистрация: 19.08.2012
Сообщений: 79
19.08.2012, 23:06 18
js анимация
Javascript
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function animate(opts) {
    var start = new Date();
    var timer = setInterval(function() {
        var progress = (new Date - start) / opts.duration;
        if (progress > 1) progress = 1;
        opts.step(opts.delta(progress));
        if (progress == 1) {
            clearInterval(timer);
            opts.compleat && opts.compleat(opts.elem);
        };
    }, opts.delay || 40);
    return timer;
}
 
 
function Prop(opts) {
    opts.step = function(prog) {
        var value;
        for (var i = opts.prop.length; i--;) {
            value = opts.start[i] + ((opts.value[i] - opts.start[i]) * prog);
            opts.elem.style[opts.prop[i]] = value + opts.units;
        };
    }
    if (!opts.delta) {
        opts.delta = function(progress) {
            return progress;
        }
    }
    return animate(opts);
}
/* 
анимация нескольких свойств:
 
-можно анимировать несколько свойств ['opacity','width']
  тогда start передается так [0,100](100 - начальное значение ширины) , а value так [1,500](500 -    конечное значение ширины)
 
*/
Prop({
    elem: document.getElementById('testBlock'), //элемент на котором происходит анимация 
    start: [0, 0], // начальное значение
    value: [100, 300], // конечное значение
    prop: ['top', 'left'], // свойство анимации
    duration: 2000, // время анимации
    units: 'px', //единицы измерение px || % || ''-без единици измерения
    delta: function(progress) { // НЕ обязательные параметр задающий вид анимации
        for (var a = 0, b = 1, result; 1; a += b, b /= 2) {
            if (progress >= (7 - 4 * a) / 11) {
                return -Math.pow((11 - 6 * a - 11 * progress) / 4, 2) + Math.pow(b, 2)
            }
        }
    }
});
основу анимации взял когда читал эту статью http://learn.javascript.ru/animation и немного расширил
0
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
23.10.2012, 09:21 19
Символьные объекты
По разным справочникам можно найти небольшое количество этих объектов, но, на самом деле объектов несколько десятков тысяч и все они есть в браузерах, само собой все браузеры поддерживают разное количество объектов, намного! меньше всех поддерживает браузер на который все сразу и подумали, для остальных разница микроскопична.
Поэтому проверять нужно во всех браузерах. Если поискать, то для многих объектов можно найти или дубль или похожий. Хватило бы терпения искать.

Программа свежая, вполне может иметь ошибки.
Надеюсь ИЕ6, ИЕ7 ни кому не нужен?
Вложения
Тип файла: 7z sim_obj3.7z (8.2 Кб, 66 просмотров)
1
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
10.11.2012, 21:09 20
Определение окончаний слов
Делалось под конкретную задачу, может функция и не универсальна.
PHP/HTML
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>Определение окончаний слов</title>
        <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
        <script type="text/javascript">
            function butClick() {
                selectWord(document.getElementById("num").innerHTML);
            };
            function selectWord(L) { //получает число, можно строкой
                var m, n, x;
                //L=L<0?-L:L;//если может быть отрицательное число
                x = L % 10; //остаток от деления на 10, получить одну последнюю цифру
                //m=["книга", "книги", "книг"];
                m = ["день", "дня", "дней"];
                //если цифр в числе 2 и больше, забираем две последнии, иначе возвращаем число
                n = L > 9 ? L % 100 : L;
                //проверяем исключения, числа у которых 2 последнии цифры попадают в диапазон от 11 до 14 включительно, возвращают 2, если нет, то проверяем а не кончается ли число на 1, если число кончается на 1, возвращает 0, иначе 1
                n = n > 10 && n < 15 ? 2 : (L - 1) % 10 == 0 ? 0 : 1;
                //если число кончается на 1, возвращает 0, если числа кончаются на 2, 3, 4, возвращает 1, иначе 2
                n = n == 0 ? 0 : n == 2 ? 2 : x > 1 && x < 5 ? 1 : 2;
                document.getElementById("word").innerHTML = m[n];
            };
            /*
            книга, день - числа заканчивающиеся на 1, кроме чисел заканчивающихся на 11
            1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
            книги, дня - числа заканчивающееся на 2, 3, 4, кроме чисел заканчивающихся на 11
            2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 74, 82, 83, 84, 92, 93, 94, 102, 103, 104...
            книг, дней - числа заканчивающееся на 0, 5, 6, 7, 8, 9, и числа заканчивающиеся на 11, 12, 13, 14
            0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26, 27, 28, 29, 30, 35, 36, 37, 38, 39, 40, 45, 46, 47, 48, 49, 50, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69, 70, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 95, 96, 97, 98, 99, 100, 105, 106, 107, 108, 109, 110....
            книг, дней - исключения из книга и книги
            то есть числа заканчивающееся на 1 дают книга, день, кроме чисел заканчивающихся на 11
            числа заканчивающееся на 2, 3, 4 дают книги, дня, кроме чисел заканчивающихся на 12, 13, 14
            в итоге исключения составляют числа заканчивающееся на 11, 12, 13, 14
            11, 12, 13, 14, 111, 112, 113, 114, 211, 212, 213, 214, 311, 312, 313, 314, 411, 412, 413, 414, 511, 512, 513, 514, 611, 612, 613, 614, 711, 712, 713, 714, 811, 812, 813, 814, 911, 912, 913, 914, 1011, 1012, 1013, 1014...
            */
        </script>
    </head>
    <body>
        <div style="text-align:center; margin:111px 0 5px 0;">В левое поле введите число</div>
        <table border="1" width="33%" cellpadding="7" cellspacing="0" style="margin:0 auto;">
            <tr>
                <td width="15%">
                    <div id="num" contenteditable="true" style="width:70px; cursor:text; background:silver;">1</div>
                </td>
                <td width="60%">
                    <div id="word">&nbsp;</div>
                </td>
                <td>
                    <button onclick="butClick();" style="width:70px;">YES</button>
                </td>
            </tr>
        </table>
    </body>
</html>
1
10.11.2012, 21:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2012, 21:09
Помогаю со студенческими работами здесь

Как запускать браузер с готовыми настройками?
пишу этот код, но всё равно выдаёт ошибку: InvalidOperationException не обработано пользовательским...

Подскажите сайты с готовыми спрайтами под меню
Подскажите сайты с готовыми спрайтами, лучше под меню. Пожалуйста...

Связь с готовыми mdb и accdb через форму
Добрый вечер! Нужна программная реализация подключения к бд, вывод данных из таблицы на форму...

На просторах интернета нашел файлик с готовыми макросами
Заливаю чтоб было, может кто найдет для себя готовые решения для своих задач.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru