Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.03.2015, 16:03
Новичок на форуме
Отправить личное сообщение для akefa Посмотреть профиль Найти все сообщения от akefa
 
Регистрация: 15.03.2015
Сообщений: 7

Отложенный запуск скрипта
Есть скрипт вывода диаграмм - CanvasJS, для отложенного запуска использую viewportChecker, то есть что бы скрипт запускался когда страница прокручивается до нужного элемента. Проблема в том что в таком виде (ниже пример) скрипт не работает, но если записать его например в custom.js и подключить файл то работает как надо, в чем может быть проблема?

<script>
jQuery('.chart').viewportChecker({
        classToAdd: 'animated fadeIn',
    offset: 100,
        callbackFunction: function(elem, action){
    jQuery(document).ready(function(){
    var chart = new CanvasJS.Chart("chartContainerPie2",
    {
            animationEnabled: true,
        legend:{
            verticalAlign: "bottom",
            horizontalAlign: "center"
        },
        data: [
        {       
            type: "pie",
            toolTipContent: "{legendText}: <strong>{y}%</strong>",
            indexLabel: "{label} {y}%",
            dataPoints: [
                {  y: 35, legendText },
                {  y: 20, legendText },
                {  y: 18, legendText },
                {  y: 15, legendText },
                {  y: 5, legendText   },
                {  y: 7, legendText   }
            ]
    }
    ]
    });
    chart.render();
  }
             )}, 
});
</script>


<div class="chart" id="chartContainerPie2" style="height: 300px; float: left;width: 60%;"></div>
Ответить с цитированием
  #2 (permalink)  
Старый 15.03.2015, 16:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

akefa,
строка 6 должна быть максимум нулевой
Ответить с цитированием
  #3 (permalink)  
Старый 15.03.2015, 17:07
Новичок на форуме
Отправить личное сообщение для akefa Посмотреть профиль Найти все сообщения от akefa
 
Регистрация: 15.03.2015
Сообщений: 7

В таком варианте вообще отказывается работать (
Ответить с цитированием
  #4 (permalink)  
Старый 15.03.2015, 17:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

akefa,
строки 31 и и часть 32 вы тоже пренесли вниз?
Ответить с цитированием
  #5 (permalink)  
Старый 15.03.2015, 17:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

akefa,
jQuery(document).ready(function() {
    jQuery('.chart').viewportChecker({
        classToAdd: 'animated fadeIn',
        offset: 100,
        callbackFunction: function(elem, action) {

            var chart = new CanvasJS.Chart("chartContainerPie2", {
                animationEnabled: true,
                legend: {
                    verticalAlign: "bottom",
                    horizontalAlign: "center"
                },
                data: [{
                    type: "pie",
                    toolTipContent: "{legendText}: <strong>{y}%</strong>",
                    indexLabel: "{label} {y}%",
                    dataPoints: [{
                        y: 35,
                        legendText
                    }, {
                        y: 20,
                        legendText
                    }, {
                        y: 18,
                        legendText
                    }, {
                        y: 15,
                        legendText
                    }, {
                        y: 5,
                        legendText
                    }, {
                        y: 7,
                        legendText
                    }]
                }]
            });
            chart.render();
        }
    })
});

Последний раз редактировалось рони, 15.03.2015 в 17:25.
Ответить с цитированием
  #6 (permalink)  
Старый 15.03.2015, 17:52
Новичок на форуме
Отправить личное сообщение для akefa Посмотреть профиль Найти все сообщения от akefa
 
Регистрация: 15.03.2015
Сообщений: 7

Да, именно так и сделал, и перестало все вовсе отображаться
Ответить с цитированием
  #7 (permalink)  
Старый 15.03.2015, 17:54
Новичок на форуме
Отправить личное сообщение для akefa Посмотреть профиль Найти все сообщения от akefa
 
Регистрация: 15.03.2015
Сообщений: 7

Полный код графика, так он работает в тегах <script> но мне нужно что бы он запускался viewportChecker ом в этих тегах, но почему то выше приведенный код работает только если подгрузить его через custom.js

<script type="text/javascript">
  window.onload = function () {
    var chart = new CanvasJS.Chart("chartContainer",
    {
      title:{
      text: "Try Various Chart Types"
      },
      data: [
      {
        type: "column", //change type to bar, line, area, pie, etc
        dataPoints: [
        { x: 10, y: 71 },
        { x: 20, y: 55},
        { x: 30, y: 50 },
        { x: 40, y: 65 },
        { x: 50, y: 95 },
        { x: 60, y: 68 },
        { x: 70, y: 28 },
        { x: 80, y: 34 },
        { x: 90, y: 14}

        ]
      }
      ]
    });

    chart.render();
  }
  </script>
Ответить с цитированием
  #8 (permalink)  
Старый 15.03.2015, 18:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

akefa,
консоль смотрели на предмет ошибок
Ответить с цитированием
  #9 (permalink)  
Старый 15.03.2015, 18:06
Новичок на форуме
Отправить личное сообщение для akefa Посмотреть профиль Найти все сообщения от akefa
 
Регистрация: 15.03.2015
Сообщений: 7

Когда подгружаю через custom.js - в консоле все чисто.
Если между тегами <script> - в консоле ошибка "Uncaught TypeError: undefined is not a function", в строке jQuery('.chart2').viewportChecker({
Ответить с цитированием
  #10 (permalink)  
Старый 15.03.2015, 18:08
Новичок на форуме
Отправить личное сообщение для akefa Посмотреть профиль Найти все сообщения от akefa
 
Регистрация: 15.03.2015
Сообщений: 7

полный код
<script>
jQuery('.chart2').viewportChecker({
        classToAdd: 'animated fadeIn',
	offset: 100,
        callbackFunction: function(elem, action){
    jQuery(document).ready(function(){
	var chart = new CanvasJS.Chart("chartContainerPie2",
	{
            animationEnabled: true,
		legend:{
			verticalAlign: "bottom",
			horizontalAlign: "center"
		},
		data: [
		{       
			type: "pie",
			toolTipContent: "{legendText}: <strong>{y}%</strong>",
			indexLabel: "{label} {y}%",
			dataPoints: [
				{  y: 35, legendText: "Маркетинг", exploded: true, label: "Маркетинг" },
				{  y: 20, legendText: "Менеджмент", exploded: true, label: "Менеджмент" },
				{  y: 18, legendText: "Бизнес план", exploded: true, label: "Бизнес план" },
				{  y: 15, legendText: "Товар", exploded: true, label: "Товар"},
				{  y: 5, legendText: "Идея", label: "Идея" },
				{  y: 7, legendText: "Реализация", label: "Реализация"}
			]
	}
	]
	});
    chart.render();
  }
		     )}, 
});
</script>


<div class="chart2 animated" id="chartContainerPie2" style="height: 300px; float: left;width: 60%;"></div>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск и остановка скрипта BARABANTEMO Общие вопросы Javascript 6 07.12.2014 05:19
Запуск скрипта с адресной строки olga153b Events/DOM/Window 3 24.09.2012 11:34
Запуск php скрипта через ajax hagen3 AJAX и COMET 2 09.09.2011 03:51
Чем можно организовать запуск скрипта атом. по времени. I5Rek Серверные языки и технологии 2 01.05.2011 23:00
Запуск js-функции на странице из скрипта Bazzilic Серверные языки и технологии 3 20.04.2010 09:53