Архивы по Категориям: JavaScript

Передача массива в Asp.NET через ajax

http://stackoverflow.com/questions/309115/how-can-i-post-an-array-of-string-to-asp-net-mvc-controller-without-a-form

function test()
{
    var stringArray = new Array();
    stringArray[0] = "item1";
    stringArray[1] = "item2";
    stringArray[2] = "item3";
    var postData = { values: stringArray };
 
    $.ajax({
        type: "POST",
        url: "/Home/SaveList",
        data: postData,
        success: function(data){
            alert(data.Result);
        },
        dataType: "json",
        traditional: true
    });
}
public JsonResult SaveList(List<String> values)
{
    return Json(new { Result = String.Format("Fist item in list: '{0}'", values[0]) });
}

Построение графов

Библиотеки для визуализации графов.
Смотрела arborjs (картинка «живая», постоянно движется), jsplumb (выглядит формально, хорошо для сурьезных отчетов), sigmajs (красивый эффект «рыбьего глаза» и др. эффекты).

Список из коммента на хабре (http://habrahabr.ru/post/128047/)

arborjs.org/
flare.prefuse.org/ //flex-flash
www.graphviz.org/Gallery.php
thejit.org/demos/
js-graph-it.sourceforge.net/index.html
jsplumb.org/jquery/demo.html
mbostock.github.com/protovis/ex/
raphaeljs.com/
www.graphdracula.net/de/showcase/
github.com/mbostock/d3/wiki/Gallery
cytoscapeweb.cytoscape.org/demos
sigmajs.org/examples.html
javascript.open-libraries.com/utilities/drawing/canviz-javascript-library/

и вот еще
eax.me/dracula/
graphdracula.net/

JQuery UI

Цикл уроков по jquery и плагинам на русском языке
http://www.site-do.ru/js/jquery.php

Особенно интересны draggable, droppable, resizable, sortable, selectable.

Можно глянуть еще http://www.dropzonejs.com/

Календарик

Под катом полная версия на 2013 год и код генератора на любой год.

Читать далее »

Instacode

Нашла сервис для создания инстакартинок из кода.
http://instacod.es/

Читать далее »

Дерево Пифагора

С Википедии

<html> 
<head>
  <title>Дерево Пифагора</title>
  <script type="text/javascript">
    // функция рисует под углом angle линию из указанной точки длиной ln
    function drawLine(x, y, ln, angle)
    {
      context.moveTo(x, y);
      context.lineTo(Math.round(x + ln * Math.cos(angle)), Math.round(y - ln * Math.sin(angle)));
    }
    // Функция рисует дерево
    function drawTree(x, y, ln, minLn, angle)
    {
      if (ln > minLn)
      {
        ln = ln * 0.75;
        drawLine(x, y, ln, angle);
        x = Math.round(x + ln * Math.cos(angle));
        y = Math.round(y - ln * Math.sin(angle));
        drawTree(x, y, ln, minLn, angle + Math.PI / 4);
        drawTree(x, y, ln, minLn, angle - Math.PI / 6);
        // если поставить угол Math.PI/4 , то выйдет классическое дерево
      }
    }
    // Инициализация переменных
    function init()
    {
      var canvas  = document.getElementById("tree");
      var x       = 100 + (canvas.width / 2);
      var y       = 170 + canvas.height;  // положении ствола
      var ln      = 120;                  // начальная длина линии
      var minLn   = 5;                    // минимальная длина линии
 
      canvas.width  = 480; // Ширина холста
      canvas.height = 320; // высота холста
 
      context             = canvas.getContext("2d");
      context.fillStyle   = "#ddf"; // цвет фона
      context.strokeStyle = "#020"; //цвет линий
      context.fillRect(0, 0, canvas.width, canvas.height);
      context.lineWidth = 2; // ширина линий
      context.beginPath();
      drawTree(x, y, ln, minLn, Math.PI / 2);
      context.stroke();
    }
 
    window.onload = init;
  </script>
</head>
<body>
  <canvas id="tree"></canvas>
</body> 
</html>

document.write

http://stackoverflow.com/questions/802854/why-is-document-write-considered-a-bad-practice

Определение ОС и браузера пользователя

Определение ОС и браузера пользователя на стороне клиента
Читать далее »

Переключалка пунктов меню

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var selectNavItem =
    {
        load: function(elem){
            $(elem).addClass("active"); 
            $(elem).siblings(".nav li").removeClass("active");
        },
 
        menuClick: function(){
            $(".nav li").click(function () {
                $(this).toggleClass("active");
                $(this).siblings().removeClass("active");
            });
        }
    }

Переход по страницам по Ctrl + «стрелка»

Такой красивый скриптик используется у Лебедева в Бизнес-линче, на страницах о путешествиях, и даже на Яндексе.
Читать далее »