Aplicación de calendario con lógica inestable -- javascript campo con jquery campo con datetime camp codereview Relacionados El problema

Calendar application with shaky Logic


1
vote

problema

Español

He construido una aplicación de calendario con jQuery. El archivo Script está en github . El código funciona perfectamente bien y lo he probado. Por favor, siéntase libre de clonar y probarlo también.

No estoy seguro de la lógica que he usado para construir esta aplicación.

  1. Básicamente, he usado una mesa y para almacenar las fechas y he adjustado las fechas W.R.T Day (MO, TU ... SU).

      for(var rowNo=0; rowNo<dayRows-1;rowNo++){    $(".tableBody", config.container).append("<tr class='rowCell'><td class='Mo "+  tank.weeks['Mo'].prop[rowNo] +"'>"+ tank.weeks['Mo'].date[rowNo] +"</td><td class='Tu "+ tank.weeks['Tu'].prop[rowNo] +"'>"+ tank.weeks['Tu'].date[rowNo] +"</td><td class='We "+ tank.weeks['We'].prop[rowNo] +"'>"+ tank.weeks['We'].date[rowNo] +"</td><td class='Th "+ tank.weeks['Th'].prop[rowNo] +"'>"+ tank.weeks['Th'].date[rowNo] +"</td><td class='Fr "+ tank.weeks['Fr'].prop[rowNo] +"'>"+ tank.weeks['Fr'].date[rowNo] +"</td><td class='Sa "+ tank.weeks['Sa'].prop[rowNo] +"'>"+ tank.weeks['Sa'].date[rowNo] +"</td><td class='Su "+ tank.weeks['Su'].prop[rowNo] +"'>"+ tank.weeks['Su'].date[rowNo] +"</td></tr>"); }   
  2. El calendario debe desplazarse hasta el día de hoy y estoy buceando id para cada célula y hacer el control para ir allí cuando se abre el calendario.

      var currentDate = new Date(); var idInfo = currentDate.toDateString().split(" "); var scrollingTo = idInfo[2]+idInfo[1]+idInfo[3];  /*Scrolling to the Present/selected date*/         var flag=true;         $("."+config.inputBoxName)         .focusin(function(){              $(".container", config.container).show();             $(".bodyContainer", config.container).show();             if(flag){              $("."+config.inputBoxName).val(curDate +"-"+ config.monthNumber[config.monthName[currentDate.getMonth()].slice(0,3)] +"-"+ currentDate.getFullYear());             $(".bodyContainer", config.container).scrollTop($('.'+scrollingTo, config.container).offset().top - ((bodyHeight-80)+(config.numOfDiabledRows)*40));              flag = false;             } else {                 $(".bodyContainer", config.container).scrollTop($('.'+scrollingTo)/*.position().top +(config.numOfDiabledRows)*40*/);             }            });   

¿Es este el enfoque adecuado? Si no, ¿cuál sería más apropiado o correcta manera de que se pueda construir esta solicitud?

Original en ingles

I have built a calendar application just with jQuery. The script file is on Github. The code works perfectly fine and I have tested it. Please feel free to clone and test it as well.

I am uncertain on the logic that I have used for building this application.

  1. Basically, I have used a table and for storing the dates and I have appended dates w.r.t day (Mo, Tu ... Su).

    for(var rowNo=0; rowNo<dayRows-1;rowNo++){    $(".tableBody", config.container).append("<tr class='rowCell'><td class='Mo "+  tank.weeks['Mo'].prop[rowNo] +"'>"+ tank.weeks['Mo'].date[rowNo] +"</td><td class='Tu "+ tank.weeks['Tu'].prop[rowNo] +"'>"+ tank.weeks['Tu'].date[rowNo] +"</td><td class='We "+ tank.weeks['We'].prop[rowNo] +"'>"+ tank.weeks['We'].date[rowNo] +"</td><td class='Th "+ tank.weeks['Th'].prop[rowNo] +"'>"+ tank.weeks['Th'].date[rowNo] +"</td><td class='Fr "+ tank.weeks['Fr'].prop[rowNo] +"'>"+ tank.weeks['Fr'].date[rowNo] +"</td><td class='Sa "+ tank.weeks['Sa'].prop[rowNo] +"'>"+ tank.weeks['Sa'].date[rowNo] +"</td><td class='Su "+ tank.weeks['Su'].prop[rowNo] +"'>"+ tank.weeks['Su'].date[rowNo] +"</td></tr>"); } 
  2. The calendar should scroll to the present day and I am diving id for every cell and making the control to go there when the calendar is opened.

    var currentDate = new Date(); var idInfo = currentDate.toDateString().split(" "); var scrollingTo = idInfo[2]+idInfo[1]+idInfo[3];  /*Scrolling to the Present/selected date*/         var flag=true;         $("."+config.inputBoxName)         .focusin(function(){              $(".container", config.container).show();             $(".bodyContainer", config.container).show();             if(flag){              $("."+config.inputBoxName).val(curDate +"-"+ config.monthNumber[config.monthName[currentDate.getMonth()].slice(0,3)] +"-"+ currentDate.getFullYear());             $(".bodyContainer", config.container).scrollTop($('.'+scrollingTo, config.container).offset().top - ((bodyHeight-80)+(config.numOfDiabledRows)*40));              flag = false;             } else {                 $(".bodyContainer", config.container).scrollTop($('.'+scrollingTo)/*.position().top +(config.numOfDiabledRows)*40*/);             }            }); 

Is this the proper approach? If not, what would be more appropriate or correct way this application could be built?

        

Lista de respuestas


Relacionados problema

5  Método de cálculo del día del año  ( Day of year calculation method ) 
El ejercicio que quería resolver es de aquí . Copiando desde esa página: public static int dayOfYear(int month, int dayOfMonth, int year) { if (month...

10  Obteniendo la última fecha donde ocurrió un día de la semana dado  ( Getting the last date where a given week day occurred ) 
Estoy tratando de aprender un poco sobre la programación funcional y como mi herramienta, elegí F # ya que soy un desarrollador de .NET y el medio ambiente es...

4  Salida de una cuenta regresiva en un div  ( Outputting a countdown in a div ) 
Obtuve este código trabajando con el complemento de cuenta regresiva jQuery para tomar una entrada y salida una cadena cuenta regresiva en un div. ¿Hay una ...

10  Obteniendo tiempo actual con milisegundos  ( Getting current time with milliseconds ) 
Estoy buscando una forma más eficiente o más corta de lograr la siguiente salida utilizando el siguiente código: timeval curTime; gettimeofday(&curTime, NU...

0  Valor numérico para una fecha, DataTado y Datediff  ( Numeric value for a date dateadd and datediff ) 
En MS Excel, una fecha también se representa como un valor numérico, con el 1-enero-1900 como el primer día. También en VBA hay funciones de DataLTD y Datedif...

5  Representando el tiempo de apertura y cierre para un negocio  ( Representing the opening and closing time for a business ) 
Tengo una clase de openclose que solo representa las horas de operación de un negocio por la apertura y el tiempo de cierre. Toma los tiempos de apertura y ci...

8  Conversión de STD :: Chrono :: Time_Point to / from std :: string  ( Converting stdchronotime point to from stdstring ) 
Considere estas funciones que permitan convertir checkOnline.sh4 a / FROM checkOnline.sh5 Con un formato Fecha de fecha ". checkOnline.sh6 con uso:...

2  Obtén el primer patrimonio dado por los días de semana y un tiempo de inicio  ( Get first datetime by given weekdays and a starttime ) 
En el trabajo hay un sistema de entrada donde los clientes pueden especificar los días de semana y una hora de inicio para un evento. Los días de semana son e...

5  Calcular el tiempo transcurrido de los tiempos de entrada sin usar declaraciones condicionales  ( Calculate elapsed time from input times without using conditional statements ) 
Acabo de empezar la programación y nos estamos enseñando C ++. Después de nuestra 2ª conferencia, nos dieron una tarea para hacer un programa que tome dos val...

6  Compara el último tiempo de modificación con tiempo especificado  ( Compare last modification time with specfied time ) 
Estoy escribiendo una función en Python que compara el tiempo de modificación de un archivo en Linux (usando OS.STAT) con un tiempo específico y compare las f...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos