{"id":2572,"date":"2014-12-02T18:06:17","date_gmt":"2014-12-02T14:06:17","guid":{"rendered":"http:\/\/www.dhtmlx.com\/blog\/?p=2572"},"modified":"2023-05-05T13:51:13","modified_gmt":"2023-05-05T10:51:13","slug":"custom-slider-control","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/custom-slider-control\/","title":{"rendered":"DHTMLX Little-Known Features: Custom Slider Control [Mini-Tutorial]"},"content":{"rendered":"<p>If you face the necessity to include a slider control into your app or website and want to customize it to meet your design requirements, then this article for you &#8211; here you will learn how to create new skins for the simple <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSlider\/\" target=\"_blank\">JavaScript slider control<\/a>, dhtmlxSlider.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/custom-slider.png\" alt=\"custom-slider\" width=\"469\" height=\"251\" class=\"aligncenter size-full wp-image-2605\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/custom-slider.png 469w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/custom-slider-300x160.png 300w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><\/p>\n<p>As a basis, we take a <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSlider\/samples\/01_init\/01_init_object.html\" target=\"_blank\">standard slider bar<\/a> from the dhtmlxSuite package.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/standard-slider.png\" alt=\"standard-slider\" width=\"204\" height=\"252\" class=\"aligncenter size-full wp-image-2606\" \/><\/p>\n<p>To create a new design, we need two slider elements &#8211; <strong>runner<\/strong> and <strong>track<\/strong>. These elements can be both a div and an image (depends on the complexity of the required view). Remember of the image for a vertical slider, if you need it. We\u2019ll describe both horizontal and vertical sliders.<br \/>\n<!--more--><br \/>\nInitially, the following styles are responsible for the runner and track:<\/p>\n<div class=\"codecolorer-container css default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"css codecolorer\"><span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_runner<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"br0\">&#125;<\/span> \u2013 \/\/ for the runner<br \/>\n<span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_cont_vr<\/span> <span class=\"re1\">.dhxsl_track<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"br0\">&#125;<\/span> &nbsp;\u2013 \/\/ for a <span class=\"kw2\">horizontal<\/span> track<br \/>\n<span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_cont_hr<\/span> <span class=\"re1\">.dhxsl_track<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"br0\">&#125;<\/span> \u2013 \/\/ for a <span class=\"kw2\">vertical<\/span> track<br \/>\n<span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_track<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"br0\">&#125;<\/span> \u2013 \/\/ the common style in case of using images<\/div><\/div>\n<p>We need to modify them to achieve the needed result. <\/p>\n<p>With images:<\/p>\n<div class=\"codecolorer-container css default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"css codecolorer\"><span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_runner<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background-image<\/span><span class=\"sy0\">:<\/span> <span class=\"kw3\">url<\/span><span class=\"br0\">&#40;<\/span><span class=\"co2\">newSkin\/ball.png<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">border<\/span><span class=\"sy0\">:<\/span> <span class=\"kw2\">none<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_cont_vr<\/span> <span class=\"re1\">.dhxsl_track<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">width<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">6px<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background-image<\/span><span class=\"sy0\">:<\/span> <span class=\"kw3\">url<\/span><span class=\"br0\">&#40;<\/span><span class=\"co2\">newSkin\/track_vr_empty.png<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">border<\/span><span class=\"sy0\">:<\/span> <span class=\"kw2\">none<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_cont_hr<\/span> <span class=\"re1\">.dhxsl_track<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">height<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">6px<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background-image<\/span><span class=\"sy0\">:<\/span> <span class=\"kw3\">url<\/span><span class=\"br0\">&#40;<\/span><span class=\"co2\">newSkin\/track_hr_empty.png<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">border<\/span><span class=\"sy0\">:<\/span> <span class=\"kw2\">none<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p>Color styles:<\/p>\n<div class=\"codecolorer-container css default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"css codecolorer\"><span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_runner<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background-color<\/span><span class=\"sy0\">:<\/span> <span class=\"re0\">#E6F7D1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background-image<\/span><span class=\"sy0\">:<\/span> <span class=\"kw2\">none<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">border<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">1px<\/span> <span class=\"kw2\">solid<\/span> <span class=\"re0\">#2A3A15<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">border-radius<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">2px<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">width<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">18px<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">height<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">18px<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_cont_vr<\/span> <span class=\"re1\">.dhxsl_track<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">width<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">18px<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background<\/span><span class=\"sy0\">:<\/span> linear-gradient<span class=\"br0\">&#40;<\/span>to <span class=\"kw2\">bottom<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">#fefcea<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">#8FAE68<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">border<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">1px<\/span> <span class=\"kw2\">solid<\/span> <span class=\"re0\">#77A63B<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"re1\">.dhtmlxslider_dhx_skyblue<\/span> <span class=\"re1\">.dhxsl_cont_hr<\/span> <span class=\"re1\">.dhxsl_track<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">height<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">18px<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background<\/span><span class=\"sy0\">:<\/span> linear-gradient<span class=\"br0\">&#40;<\/span>to <span class=\"kw2\">left<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">#fefcea<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">#8FAE68<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">border<\/span><span class=\"sy0\">:<\/span> <span class=\"re3\">1px<\/span> <span class=\"kw2\">solid<\/span> <span class=\"re0\">#77A63B<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p>The next step is to create a folder for a new skin, we call it &#8220;newSkin&#8221;, and then use the following names for the images:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/names-elements-slider.png\" alt=\"names-elements-slider\" width=\"504\" height=\"213\" class=\"aligncenter size-full wp-image-2609\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/names-elements-slider.png 504w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/names-elements-slider-300x126.png 300w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><\/p>\n<p>1) horizontal (mySlider1)<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> mySlider1 <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhtmlXSlider<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; parent<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;sliderObj1&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; size<span class=\"sy0\">:<\/span> &nbsp; <span class=\"nu0\">150<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; value<span class=\"sy0\">:<\/span>&nbsp; <span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; step<span class=\"sy0\">:<\/span> &nbsp; <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; min<span class=\"sy0\">:<\/span>&nbsp; &nbsp; <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; max<span class=\"sy0\">:<\/span>&nbsp; &nbsp; <span class=\"nu0\">150<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>2) vertical (mySlider2)<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> mySlider2 <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> dhtmlXSlider<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; parent<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;sliderObj2&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; size<span class=\"sy0\">:<\/span> &nbsp; <span class=\"nu0\">200<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; value<span class=\"sy0\">:<\/span>&nbsp; <span class=\"nu0\">15<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; step<span class=\"sy0\">:<\/span> &nbsp; <span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; min<span class=\"sy0\">:<\/span>&nbsp; &nbsp; <span class=\"nu0\">10<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; max<span class=\"sy0\">:<\/span>&nbsp; &nbsp; <span class=\"nu0\">90<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; vertical<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>To calculate how to fill the track, we need the following values: <\/p>\n<p>&#8211; Max slider value:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">max1 <span class=\"sy0\">=<\/span> mySlider1.<span class=\"me1\">getMax<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nmax2 <span class=\"sy0\">=<\/span> mySlider2.<span class=\"me1\">getMax<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>&#8211; Slider containers:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> sliderDiv1 <span class=\"sy0\">=<\/span> document.<span class=\"me1\">getElementsByClassName<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;dhxsl_track&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#91;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"kw1\">var<\/span> sliderDiv2 <span class=\"sy0\">=<\/span> document.<span class=\"me1\">getElementsByClassName<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;dhxsl_track&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#91;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>&#8211; Length of the horizontal slider and height of the vertical sliders on the client side:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">var<\/span> sliderWidth <span class=\"sy0\">=<\/span> sliderDiv1.<span class=\"me1\">clientWidth<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"kw1\">var<\/span> sliderHeight <span class=\"sy0\">=<\/span> sliderDiv2.<span class=\"me1\">clientHeight<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>The position of the runner that was initially set should be considered for color\/image filling at the initialization stage. Since this function is called just once (at init), we call it \u201ccolorize\u201d. It has two properties &#8211; the values of mySlider1 \u0438 mySlider2.<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">colorize<span class=\"br0\">&#40;<\/span>mySlider1.<span class=\"me1\">getValue<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> mySlider2.<span class=\"me1\">getValue<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Colorize() fucntion for two sliders will look like this:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">function<\/span> colorize<span class=\"br0\">&#40;<\/span>value1<span class=\"sy0\">,<\/span> value2<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p>With images:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">sliderInnerDiv1 <span class=\"sy0\">=<\/span> document.<span class=\"me1\">createElement<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;div&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv1.<span class=\"me1\">style<\/span>.<span class=\"me1\">width<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value1<span class=\"sy0\">*<\/span>sliderWidth<span class=\"sy0\">\/<\/span>max1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv1.<span class=\"me1\">style<\/span>.<span class=\"me1\">height<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;6px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv1.<span class=\"me1\">style<\/span>.<span class=\"me1\">backgroundImage<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;url(newSkin\/track_hr_full.png)&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderDiv1.<span class=\"me1\">appendChild<\/span><span class=\"br0\">&#40;<\/span>sliderInnerDiv1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nsliderInnerDiv2 <span class=\"sy0\">=<\/span> document.<span class=\"me1\">createElement<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;div&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">height<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value2<span class=\"sy0\">*<\/span>sliderHeight<span class=\"sy0\">\/<\/span>max2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">width<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;6px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">position<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;absolute&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">bottom<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">backgroundImage<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;url(newSkin\/track_vr_full.png)&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderDiv2.<span class=\"me1\">appendChild<\/span><span class=\"br0\">&#40;<\/span>sliderInnerDiv2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Color styles:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">sliderInnerDiv1 <span class=\"sy0\">=<\/span> document.<span class=\"me1\">createElement<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;div&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv1.<span class=\"me1\">style<\/span>.<span class=\"me1\">width<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value1<span class=\"sy0\">*<\/span>sliderWidth<span class=\"sy0\">\/<\/span>max1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv1.<span class=\"me1\">style<\/span>.<span class=\"me1\">height<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;20px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv1.<span class=\"me1\">style<\/span>.<span class=\"me1\">backgroundColor<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;#8FAE68&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderDiv1.<span class=\"me1\">appendChild<\/span><span class=\"br0\">&#40;<\/span>sliderInnerDiv1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nsliderInnerDiv2 <span class=\"sy0\">=<\/span> document.<span class=\"me1\">createElement<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;div&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">height<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value2<span class=\"sy0\">*<\/span>sliderHeight<span class=\"sy0\">\/<\/span>max2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">width<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;18px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">position<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;absolute&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">bottom<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">backgroundColor<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;#8FAE68&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\nsliderDiv2.<span class=\"me1\">appendChild<\/span><span class=\"br0\">&#40;<\/span>sliderInnerDiv2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>When we change the position of the slider runner or if it stops moving, we need to recount the length (height) of the color\/image. We call this function \u201creColorize\u201d. It includes the following properties: <\/p>\n<p>slider \u2013 the object of the slider that is used at the moment<br \/>\nvalue \u2013 a new set value of the slider that is used at the moment<br \/>\nwidth \u2013 the length of the horizontal slider \/\/isn\u2019t necessary if we don\u2019t use this slider<br \/>\nheight \u2013 the height of the vertical slider \/\/isn\u2019t necessary if we don\u2019t use this slider<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">function<\/span> reColorize<span class=\"br0\">&#40;<\/span>slider<span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> width<span class=\"sy0\">,<\/span> height<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>slider <span class=\"sy0\">==<\/span> mySlider1<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; sliderInnerDiv1.<span class=\"me1\">style<\/span>.<span class=\"me1\">width<\/span> <span class=\"sy0\">=<\/span> width<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>slider <span class=\"sy0\">==<\/span> mySlider2<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; sliderInnerDiv2.<span class=\"me1\">style<\/span>.<span class=\"me1\">height<\/span> <span class=\"sy0\">=<\/span> height<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p>reColorize function will be called in the \u201conChange\u201d and &#8220;onSlideEnd&#8221; events. <\/p>\n<p>With images:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">mySlider1.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onSlideEnd&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newWidth <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderWidth<span class=\"sy0\">\/<\/span>max1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nmySlider1.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onChange&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newWidth <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderWidth<span class=\"sy0\">\/<\/span>max1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nmySlider2.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onSlideEnd&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newHeight <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderHeight<span class=\"sy0\">\/<\/span>max2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nmySlider2.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onChange&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newHeight <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderHeight<span class=\"sy0\">\/<\/span>max2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Color styles:<\/p>\n<div class=\"codecolorer-container javascript default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">mySlider1.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onSlideEnd&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newWidth <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderWidth<span class=\"sy0\">\/<\/span>max1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nmySlider1.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onChange&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newWidth <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderWidth<span class=\"sy0\">\/<\/span>max1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nmySlider2.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onSlideEnd&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newHeight <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderHeight<span class=\"sy0\">\/<\/span>max2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nmySlider2.<span class=\"me1\">attachEvent<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;onChange&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; newHeight <span class=\"sy0\">=<\/span> <span class=\"kw4\">Math<\/span>.<span class=\"me1\">max<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">Math<\/span>.<span class=\"me1\">round<\/span><span class=\"br0\">&#40;<\/span>value<span class=\"sy0\">*<\/span>sliderHeight<span class=\"sy0\">\/<\/span>max2<span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">5<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">+<\/span> <span class=\"st0\">&quot;px&quot;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; reColorize<span class=\"br0\">&#40;<\/span><span class=\"kw1\">this<\/span><span class=\"sy0\">,<\/span> value<span class=\"sy0\">,<\/span> newWidth<span class=\"sy0\">,<\/span> newHeight<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>As a result, we have nice-looking custom sliders. <strong>Drag the runner, try the live demo below!<\/strong><\/p>\n<div style='position:relative;border:1px solid #f1f1f1; padding: 10px 0px;margin: 10px 0px;'>\n<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"demo_table\">\n<tr>\n<td class=\"sl_one\">\n<div id=\"sliderObj1\"><\/div>\n<\/td>\n<td class=\"sl_two\">\n<div id=\"sliderObj3\" style=\"margin-top:8px;\"><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"sl_one\">\n<div id=\"sliderObj2\"><\/div>\n<\/td>\n<td class=\"sl_two\">\n<div id=\"sliderObj4\"><\/div>\n<\/td>\n<\/tr>\n<tr>\n<\/table>\n<\/div>\n<link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/dhtmlx.com\/docs\/products\/codebase\/dhtmlx.css\"\/>\n<script src=\"https:\/\/dhtmlx.com\/docs\/products\/codebase\/dhtmlx.js\"><\/script><\/p>\n<style>\n\ttable.demo_table { margin-left: 138px; }\n\ttable.demo_table td { text-align: left; vertical-align: top; }\n\t#sliderObj1, #sliderObj3 {\n\t\twidth: 160px;\n\t\theight: 30px;\n\t}\n\t#sliderObj2, #sliderObj4 {\n\t\twidth: 10px;\n\t\theight: 120px;\n\t\tmargin-left: 70px;\n\t}\n\ttd.sl_one .dhtmlxslider_dhx_skyblue .dhxsl_runner {\n\t\tbackground-color: #E6F7D1;\n\t\tbackground-image: none !important;\n\t\tborder: 1px solid #2A3A15;\n\t\tborder-radius: 2px;\n\t\twidth: 18px;\n\t\theight: 18px;\n\t}\n\ttd.sl_one .dhtmlxslider_dhx_skyblue .dhxsl_cont_vr .dhxsl_track {\n\t\twidth: 18px;\n\t\tbackground: linear-gradient(to bottom, #fefcea, #8FAE68);\n\t\tborder: 1px solid #77A63B;\n\t}\n\ttd.sl_one .dhtmlxslider_dhx_skyblue .dhxsl_cont_hr .dhxsl_track {\n\t\theight: 18px;\n\t\tbackground: linear-gradient(to left, #fefcea, #8FAE68);\n\t\tborder: 1px solid #77A63B;\n\t}\n\ttd.sl_two .dhtmlxslider_dhx_skyblue .dhxsl_runner {\n\t\tbackground-image: url(https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/ball.png);\n\t\tborder: none !important;\n\t}\n\ttd.sl_two .dhtmlxslider_dhx_skyblue .dhxsl_cont_vr .dhxsl_track {\n\t\twidth: 6px;\n\t\tbackground-image: url(https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/track_vr_empty.png);\n\t\tborder: none !important;\n\t}\n\ttd.sl_two .dhtmlxslider_dhx_skyblue .dhxsl_cont_hr .dhxsl_track {\n\t\theight: 6px;\n\t\tbackground-image: url(https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/track_hr_empty.png);\n\t\tborder: none !important;\n\t}\n<\/style>\n<p><script>\n\tvar mySlider1 = new dhtmlXSlider({\n\t\tparent: \"sliderObj1\",\n\t\tsize: 150,\n\t\tvalue: 5,\n\t\tstep: 1,\n\t\tmin: -10,\n\t\tmax: 150\n\t});\n\tvar mySlider2 = new dhtmlXSlider({\n\t\tparent: \"sliderObj2\",\n\t\tsize: 200,\n\t\tvalue: 15,\n\t\tstep: 5,\n\t\tmin: 10,\n\t\tmax: 90,\n\t\tvertical: true,\n\t\tinverse: true\n\t});\n\tmySlider3 = new dhtmlXSlider({\n\t\tparent: \"sliderObj3\",\n\t\tsize: 150,\n\t\tvalue: 5,\n\t\tstep: 1,\n\t\tmin: -10,\n\t\tmax: 150\n\t});\n\tmySlider4 = new dhtmlXSlider({\n\t\tparent: \"sliderObj4\",\n\t\tsize: 200,\n\t\tvalue: 15,\n\t\tstep: 5,\n\t\tmin: 10,\n\t\tmax: 90,\n\t\tvertical: true,\n\t\tinverse: true\n\t});\n\tfunction colorize(value1, value2){\n\t\tsliderInnerDiv1 = document.createElement(\"div\");\n\t\tsliderInnerDiv1.style.width = Math.max(Math.round(value1*sliderWidth\/max1)+5, 0) + \"px\";\n\t\tsliderInnerDiv1.style.height = \"20px\";\n\t\tsliderInnerDiv1.style.backgroundColor = \"#8FAE68\";\n\t\tsliderDiv1.appendChild(sliderInnerDiv1);\n\t\tsliderInnerDiv2 = document.createElement(\"div\");\n\t\tsliderInnerDiv2.style.height = Math.max(Math.round(value2*sliderHeight\/max2)-5, 0) + \"px\";\n\t\tsliderInnerDiv2.style.width = \"18px\";\n\t\tsliderInnerDiv2.style.position = \"absolute\";\n\t\tsliderInnerDiv2.style.bottom = 0;\n\t\tsliderInnerDiv2.style.backgroundColor = \"#8FAE68\";\n\t\tsliderDiv2.appendChild(sliderInnerDiv2);\n\t}\n\tfunction reColorize(slider, value, width, height){\n\t\tif (slider == mySlider1) {\n\t\t\tsliderInnerDiv1.style.width = width;\n\t\t}\n\t\tif (slider == mySlider2) {\n\t\t\tsliderInnerDiv2.style.height = height;\n\t\t}\n\t}\n\tvar max1 = mySlider1.getMax();\n\tvar max2 = mySlider2.getMax();\n\tsliderDiv1 = document.getElementsByClassName(\"dhxsl_track\")[0];\n\tsliderDiv2 = document.getElementsByClassName(\"dhxsl_track\")[2];\n\tsliderWidth = sliderDiv1.clientWidth;\n\tsliderHeight = sliderDiv2.clientHeight;\n\tcolorize(mySlider1.getValue(), mySlider2.getValue());\n\tmySlider1.attachEvent(\"onSlideEnd\", function(value){\n\t\tvar newWidth = Math.max(Math.round(value*sliderWidth\/max1)+5, 0) + \"px\";\n\t\treColorize(this, value, newWidth)\n\t});\n\tmySlider1.attachEvent(\"onChange\", function(value){\n\t\tvar newWidth = Math.max(Math.round(value*sliderWidth\/max1)+5, 0) + \"px\";\n\t\treColorize(this, value, newWidth)\n\t});\n\tmySlider2.attachEvent(\"onSlideEnd\", function(value){\n\t\tvar newHeight = Math.max(Math.round(value*sliderHeight\/max2)-5, 0) + \"px\";\n\t\treColorize(this, value, null, newHeight);\n\t});\n\tmySlider2.attachEvent(\"onChange\", function(value){\n\t\tvar newHeight = Math.max(Math.round(value*sliderHeight\/max2)-5, 0) + \"px\";\n\t\treColorize(this, value, null, newHeight);\n\t});\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\tfunction colorize2(value1, value2){\n\t\tsliderInnerDiv3 = document.createElement(\"div\");\n\t\tsliderInnerDiv3.style.width = Math.max(Math.round(value1*sliderWidth\/max1)+5, 0) + \"px\";\n\t\tsliderInnerDiv3.style.height = \"6px\";\n\t\tsliderInnerDiv3.style.backgroundImage = \"url(https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/track_hr_full.png)\";\n\t\tsliderDiv3.appendChild(sliderInnerDiv3);\n\t\tsliderInnerDiv4 = document.createElement(\"div\");\n\t\tsliderInnerDiv4.style.height = Math.max(Math.round(value2*sliderHeight\/max2)-5, 0) + \"px\";\n\t\tsliderInnerDiv4.style.width = \"6px\";\n\t\tsliderInnerDiv4.style.position = \"absolute\";\n\t\tsliderInnerDiv4.style.bottom = 0;\n\t\tsliderInnerDiv4.style.backgroundImage = \"url(https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2014\/12\/track_vr_full.png)\";\n\t\tsliderDiv4.appendChild(sliderInnerDiv4);\n\t}\n\tfunction reColorize2(slider, value, width, height){\n\t\tif (slider == mySlider3) {\n\t\t\tsliderInnerDiv3.style.width = width;\n\t\t}\n\t\tif (slider == mySlider4) {\n\t\t\tsliderInnerDiv4.style.height = height;\n\t\t}\n\t}\n\tmax3 = mySlider3.getMax();\n\tmax4 = mySlider4.getMax();\n\tsliderDiv3 = document.getElementsByClassName(\"dhxsl_track\")[1];\n\tsliderDiv4 = document.getElementsByClassName(\"dhxsl_track\")[3];\n\tsliderWidth3 = sliderDiv3.clientWidth;\n\tsliderHeight3 = sliderDiv4.clientHeight;\n\tcolorize2(mySlider3.getValue(), mySlider4.getValue());\n\tmySlider3.attachEvent(\"onSlideEnd\", function(value){\n\t\tvar newWidth = Math.max(Math.max(value*sliderWidth3\/max1)+5, 0) + \"px\";\n\t\treColorize2(this, value, newWidth, null)\n\t});\n\tmySlider3.attachEvent(\"onChange\", function(value){\n\t\tvar newWidth = Math.max(Math.round(value*sliderWidth3\/max1)+5, 0) + \"px\";\n\t\treColorize2(this, value, newWidth, null);\n\t});\n\tmySlider4.attachEvent(\"onSlideEnd\", function(value){\n\t\tvar newHeight = Math.max(Math.round(value*sliderHeight3\/max2)-5, 0) + \"px\";\n\t\treColorize2(this, value, null, newHeight);\n\t});\n\tmySlider4.attachEvent(\"onChange\", function(value){\n\t\tvar newHeight = Math.max(Math.round(value*sliderHeight3\/max2)-5, 0) + \"px\";\n\t\treColorize2(this, value, null, newHeight)\n\t});\n<\/script><\/p>\n<p>So, that\u2019s all. Hope this article was useful for you. Feel free to leave your comments below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you face the necessity to include a slider control into your app or website and want to customize it to meet your design requirements, then this article for &#8230;<\/p>\n","protected":false},"author":2,"featured_media":3312,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,71,1,38],"tags":[33,43,14],"class_list":["post-2572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-posts-for-codeproject-com","category-tutorials","category-uncategorized","category-visible","tag-all-posts","tag-dhtmlx-tips","tag-tips"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/2572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/comments?post=2572"}],"version-history":[{"count":1,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/2572\/revisions"}],"predecessor-version":[{"id":11408,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/2572\/revisions\/11408"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/3312"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=2572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=2572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=2572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}