2015-08-12 7 views
-1

спасибо, что нашли время, читая это. У меня есть фрагмент кода, который уже имеет некоторые функции внутри. Теперь я хочу запустить этот скрипт, если была нажата кнопка. Из того, что я тестировал, кажется, что невозможно отнести фрагмент со своими функциями в родительскую функцию (, не так ли?).Javascript - вызов скрипта, который уже использует функции

Теперь интересно, Что такое лучший способ вызвать фрагмент кода javascript?

Я не думаю, что очень важно для этого общего вопроса, но вот мой сценарий я хочу назвать:

var $input = $('.datepicker2').pickadate({ 

     }) 

     var picker = $input.pickadate('picker') 
     var plusDays = 1; 
     var currentSelection = picker.get(); 
     var currentDay; 
     var currentMonth; 
     var currentYear; 
     var newDay; 

     strich = currentSelection.indexOf("-"); 
     currentYear = currentSelection.substring(0, strich); 

     strich = currentSelection.indexOf("-"); 
     currentMonth = currentSelection.substring(strich + 1); 
     strich = currentMonth.indexOf("-"); 
     currentMonth = currentMonth.substring(0, strich); 

     strich = currentSelection.indexOf("-"); 
     currentDay = currentSelection.substring(strich + 1); 
     strich = currentDay.indexOf("-"); 
     currentDay = currentDay.substring(strich + 1); 

     newDay = parseInt(currentDay) + plusDays; 

     var $input = $('.datepicker').pickadate({ 

     }) 

     var picker = $input.pickadate('picker') 
     var date = new Date() 
     picker.set('select', [currentYear, currentMonth - 1, newDay]) 
+0

Он "введен в функцию" с помощью 'функции некоторое_имя (некоторые, параметры) {/ * некоторый код * /} '; и да, это возможно. Если он «не работает», тогда выясните, почему и исправить * эту проблему. – user2864740

ответ

1

Здесь вы:

function snippet() { 
    var $input = $('.datepicker2').pickadate({}); 

    var picker = $input.pickadate('picker') 
    var plusDays = 1; 
    var currentSelection = picker.get(); 
    var currentDay; 
    var currentMonth; 
    var currentYear; 
    var newDay; 

    strich = currentSelection.indexOf("-"); 
    currentYear = currentSelection.substring(0, strich); 

    strich = currentSelection.indexOf("-"); 
    currentMonth = currentSelection.substring(strich + 1); 
    strich = currentMonth.indexOf("-"); 
    currentMonth = currentMonth.substring(0, strich); 

    strich = currentSelection.indexOf("-"); 
    currentDay = currentSelection.substring(strich + 1); 
    strich = currentDay.indexOf("-"); 
    currentDay = currentDay.substring(strich + 1); 

    newDay = parseInt(currentDay) + plusDays; 

    var $input = $('.datepicker').pickadate({ 

    }) 

    var picker = $input.pickadate('picker') 
    var date = new Date() 
    picker.set('select', [currentYear, currentMonth - 1, newDay]) 
} 

И вы можете позвонить везде , каждый раз, когда вам нужно:

$(document).ready(function() { 
    //stuff 
    snippet() ; 
}); 

Если у вас есть функция внутри функции (например, это)

function snippet() { 
    var $input = $('.datepicker2').pickadate({}); 

    var picker = $input.pickadate('picker') 
    var plusDays = 1; 
    var currentSelection = picker.get(); 
    var currentDay; 
    this.anotherFunction = function() { 
      // some stuff 
    } 
} 

Вы можете назвать это:

snippet.anotherFunction(); 

Успехов

+1

Эй, особенно последняя часть вашего ответа помогла! Благодаря! – Skalibran