Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как программно увеличить SVG по клику?

    @uaSaint
    С библиотекой не знаком, но на сколько вижу из демо( www.cyberz.org/projects/SVGPan/tiger.svg ) значение имеют:
    1. onmouseup="handleMouseUp(evt)"
    2. onmousedown="handleMouseDown(evt)"
    3. handleMouseMove(evt)

    Похоже достаточно вызвать их при клике на кнопке либо использовать как пример для расширения кода.
    Нужный код в этом месте:
    /**
     * Handle mouse move event.
     */
    function handleMouseMove(evt) {
    	if(evt.preventDefault)
    		evt.preventDefault();
    
    	evt.returnValue = false;
    
    	var svgDoc = evt.target.ownerDocument;
    
    	var g = getRoot(svgDoc);
    
    	if(state == 'pan' && enablePan) {
    		// Pan mode
    		var p = getEventPoint(evt).matrixTransform(stateTf);
    
    		setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));
    	} else if(state == 'drag' && enableDrag) {
    		// Drag mode
    		var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());
    
    		setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));
    
    		stateOrigin = p;
    	}
    }
    Ответ написан
    Комментировать
  • Как получить путь к файлу?

    @uaSaint Автор вопроса
    В общем я пошел не много другим путем... Мотив - закончить нужно сегодня, а заплатят мне за это не больше 10$ :)
    1. Получаю файл стандартным input type='file' и отправляю форму.
    2. Принимаю форму и забираю имя файла.
    3. Использую функцию( просто ищу файл ):
    if (!defined("__DLIB_FILEFIND_DEFINED")) 
      { 
      define('__DLIB_FILEFIND_DEFINED', TRUE); 
    
      function filefind ($basedirectory, $needle) 
         { 
         $handle=opendir($basedirectory); 
         while ($file = readdir($handle)) 
           { 
           if (($file == ".") || ($file == "..")) 
             continue; 
    
           if (is_dir($basedirectory . '/' . $file)) 
             { 
             $subDirResult = filefind($basedirectory . '/' . $file, $needle); 
             if ($subDirResult != "") 
               { 
               closedir($handle); 
               return $subDirResult; 
               } 
             }   //  if (is_dir($file)) 
    
           if (strcmp($file, $needle) == 0) 
             { 
             closedir($handle); 
             return $basedirectory . '/' . $needle; 
             } 
    
           }   // while ($file = readdir($handle)) 
         closedir($handle); 
         return ""; 
         }  //  function filefind 
      }

    передавая в качестве парраметра '/' ( корневую дирректорию ) и полученное имя файла.
    4. результат отображаю, как путь.

    P.S. У заказчика windows... для меня это приключение :( Может кто знает как указать корень ФС в windows ?
    Вопрос с тем, как показать путь который выбрал пользователь для сохранения файла пока остается...
    Ответ написан